[解決済み] 警告 xcode 6 で暗黙の変換により整数の精度が失われる
2022-02-09 18:34:20
質問
重複しているかもしれませんが、30件ほど 暗黙の変換で整数の精度が落ちる xcodeをバージョン6にアップデートした後、私のiosプロジェクトで警告が発生しました。
最初の例
NSArray * stations = [self stationsJSON][KEY_ITEM_LIST];
int newSize = (stations.count + 1); // Implicit conversion loses Integer precision: 'unsigned long' to 'int'
2つ目の例
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
...
int index = indexPath.row / 2; // Implicit conversion loses Integer precision: 'long' to 'int'
...
}
警告の意味がわかりました。NSIntegerを使用することで、この警告を回避することができます。
よくわからないのですが。 なぜ xcode 5 では警告が出なかったのか? ? また、次の行を変更しても警告が出ないのはなぜですか?
int index = indexPath.row / 2;
になります。
int index = indexPath.row / 2i;
解決方法は?
NSArray count
は
NSUInteger
.
NSIndexPath row
は
NSInteger
.
64ビットシステムの場合。
NSUInteger
と
NSInteger
は64ビットですが
int
は32ビットです。そのため、値がフィットせず、警告が発生します。
を避けるのがベストです。
int
を iOS で使用することができます。代わりに、扱う値と同じ型を使用します。
NSInteger index = indexPath.row / 2;
Xcode 6では、デフォルトの警告のため、おそらくこれらを見ることができます。正しい警告の設定と64ビット用のビルドを行えば、Xcode 5でこれらを簡単に見ることができます。
関連
-
[解決済み】"宣言はファイルスコープでのみ有効 "について
-
[解決済み] Xcode 10でコマンドCompileSwiftが0以外の終了コードで失敗する [重複] 。
-
[解決済み] Xcodeエラー:SDK 'iOS 10.0'の製品タイプ 'Application'では、コード署名が必要です。
-
[解決済み] 警告: 'characters' は非推奨です。String または Substring を直接使用してください。
-
[解決済み] swiftで「floor」が使用できない
-
[解決済み] 定義がSwift 2.0の旧値と矛盾する
-
[解決済み] なぜibtoolはexit code 255で失敗したのでしょうか?
-
[解決済み] 脱獄したiphoneで`uicache`コマンドは何をするのですか?[クローズド]
-
[解決済み] 起動画面にカスタムクラス名が設定されない場合がある
-
[解決済み] Objective-Cの暗黙の変換で整数精度の「NSUInteger」(別名「unsigned long」)が「int」に変換されなくなる警告
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ペン先を読み込んだが、「表示」コンセントが設定されていない
-
[解決済み] Swiftエラー。変数がそれ自身の初期値内で使用されている
-
[解決済み] このアクションは完了できませんでした。再試行 (-22421)
-
[解決済み] ERROR ITMS-9000: "Redundant Binary Upload. 列車 '1.0' のビルドバージョン '1.0' のバイナリアップロードが既に存在します" と表示されました。
-
[解決済み] 定義がSwift 2.0の旧値と矛盾する
-
[解決済み] iOS HTTP GET リクエストを実行できません -Error Domain=NSURLErrorDomain Code=-1012
-
[解決済み] dispatch_queue_create のキュー属性とは?
-
[解決済み] Xcodeで実行ファイルが無効なエンタイトルメントで署名されてしまう
-
[解決済み] SwiftでUIColor patternImageを使用して画像を中心からタイル状に配置する方法
-
[解決済み] viewDidLoad()は何のためにあるのですか?[重複]する