0

iPhone アプリケーションに問題があります。PHP スクリプトに接続して、何かに関する情報を取得しようとしています。

PHP Link(合計テーブル)から応答を取得し、それをresponseRandomIDに入れるこのコードがあります。

しかし、ランダム関数で使用しようとすると、実行しようとするとエラーが発生しますか?

connectionDidReciveData:

if(connection == connectionRandomID) {
        NSString *temp = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
        responseRandomID = [temp intValue];
    }

connectionDidFinishLoading:

if(connection == connectionRandomID) {
        randomid = (int)1 + arc4random() % (1-responseRandomID+1);
    }

編集:これは、データベースに1行しかない場合にのみ発生しますか? しかし、2つあるとクラッシュしますか?

4

1 に答える 1

1
randomid = (int)1 + arc4random() % (1-responseRandomID+1);

responseRandomId == 2 の場合、/ by 0 につながる可能性があります

2 % 0 などのようにハードコードされている場合 - コンパイラはそれをキャッチします

変数を介して指定された場合(あなたの場合のように):

Exception Type:  EXC_ARITHMETIC (SIGFPE)
Exception Codes: EXC_I386_DIV (divide by zero)
于 2012-11-28T15:05:24.180 に答える