私は奇妙な問題があります(私に尋ねると奇妙です)。 Im NSNumber
オブジェクトを使用して数値を格納する(doh)。私が "修正"しようとすると、アプリケーションがクラッシュします。私はこのようになります使用していたコード:周波数が、私は値にこれが呼び出されるたびに書き込むためのNSNumber
とfreqLabel私のラベルですNSNumberがSIGABRTを引き起こします
if ([frequency intValue] > 19999)
return;
frequency = [NSNumber numberWithInt:([frequency intValue] + 1)]; //I think this line is causing me the problem
[freqLabel setText:[NSString stringWithFormat:@"%i Hz", [frequency intValue]]];
します。 これはなぜ間違っていますか?私はそれを初めて呼び出すときに機能します。 NSNumber numberWithInt
は、常に私が周波数に割り当てようとしている新しいオブジェクトを返しますか? これを修正するにはどうすればよいですか? NSNumber
の値を変更する正しい方法は何ですか?
私の悪い英語のために申し訳ありません(間違いがある場合)。
EDIT: エラー・ログには、次のようになります。
[__NSCFType intValue]: unrecognized selector sent to instance 0x73430e0
2012-05-09 16:39:28.064 MyApp[31939:10703] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFType intValue]: unrecognized selector sent to instance 0x73430e0'
*** First throw call stack:
(0x17a6022 0x28afcd6 0x17a7cbd 0x170ced0 0x170ccb2 0x4821 0x17a7e99 0x49d14e 0x49d0e6 0x543ade 0x543fa7 0x543266 0x4c23c0 0x4c25e6 0x4a8dc4 0x49c634 0x2e49ef5 0x177a195 0x16deff2 0x16dd8da 0x16dcd84 0x16dcc9b 0x2e487d8 0x2e4888a 0x49a626 0x1cca 0x1c15)
terminate called throwing an exception
しかし、それは常に、このエラーは表示されません。 EXC_BAD_ACCESSが発生することがあります。変数を一時的なNSNumber
に保存する必要がありますか?
エラーは何ですか? – Zepplock
NSLog(@ "%@"、頻度); 'を' if'の前に追加して、何が印刷されるのか教えてください。 – dasblinkenlight
@ Zepplock私は投稿を編集しました。 dasblinkenlight通常の値を表示します。 – Majster