1

arc4randomを使用しようとしていますが、アプリがクラッシュする原因になっています。私の見解では、テキストフィールドがあり、ユーザーが数値を入力します。ボタンを押すと、この数値が範囲に使用されます。使用するコードは次のとおりです。

int myInt1 = [textfield.text intValue];
int fromNumber = 1;

int rnumber = (arc4random() % (myInt1 - fromNumber)) + fromNumber;
number1.text = [[NSString alloc] initWithFormat:@"%i",rnumber];

たとえばmyInt1の代わりに50を使用すると機能しますが、ユーザー入力が必要です。どんな助けでも大歓迎です。

テキストフィールドに図がある場合に機能することに気付きました。これを空白のままにしてボタンを選択すると、アプリがクラッシュしました。コンソールに「SpringBoardの終了に応じて終了する」と表示されます。

4

1 に答える 1

0

変数50が機能している場合は、テキストフィールドのテキストに明らかに問題があります。ほとんどの場合、テキストフィールドはnilです。コードをもう一度確認して、アプリがゼロになるのに影響を与えているものがないかどうかを確認してください。

次回同様のことが起こった場合に備えて、これをお伝えします。常にコードのデバッグを試みる必要があります。たとえば、最小限のコードでオーバーフローをスタックするためにこれを直接投稿するのではなく、自分で問題を理解してみてください。

たとえば、メソッドは、問題の何が問題になっているのかを特定します。今すぐ試して、結果をフィードバックして、以下のようにテキストフィールドがゼロ以外であるかどうかを確認します。

if (textfield) {

 NSLog (@"Text field is not nil! GOOD!");

 }

コンソールでログが呼び出された場合、問題はテキストフィールドがnilであることがわかります。

于 2012-06-20T12:13:50.707 に答える