私のアプリケーションの64ビットサポートに更新しようとしているメソッドがあります。私はこれらの多くを持っていますwarnings
。32ビットメソッドを64ビットサポートに適切に更新する
問題は次の例のとおりです。私はNSInteger
に戻り値の型を変更した場合、私はの実装で戻り値の型を競合
取得
- (int) aMethod {
NSUserDefaults *u = [NSUserDefaults standardUserDefaults];
return [u integerForKey:@"someKey"];
}
をintに
暗黙的な変換が失われる整数精度NSInteger:私は警告を受けますaMethod intとNSInteger long long
-(NSInteger) aMethod {
NSUserDefaults *u = [NSUserDefaults standardUserDefaults];
return [u integerForKey:@"someKey"];
}
私は戻り値の型
return (NSInteger)[u integerForKey:@"someKey"];
または
return (long)[u integerForKey:@"someKey"];
をキャストしようとしている。しかし、私は(int型)にキャストしない限り、私はエラーが離れて行くために得ることができません
return (int)[u integerForKey:@"someKey"];
私は多くのSOの質問を読みましたが、私は良い答えを得ることができません。
このメソッドを更新する適切な方法は何ですか?
' - (NSInteger)aMethod {'を使うと、.hファイルの署名も更新しますか? (...または宣言された他の場所) –
あなたはそうです。 .hファイルを更新するのを忘れた* facepalm * –