0

我的 iPhone 应用程序有问题,我正在尝试连接到我的 PHP 脚本以获取有关某些内容的信息。

我有这段代码从 PHP 链接(总表)获取响应并将其放入 responseRandomID。

但是当我尝试在 Random 函数中使用它时,当我尝试运行它时会出现错误?

connectionDidReciveData:

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

连接完成加载:

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 可以导致 / 为 0

如果硬编码,例如 2 % 0 - 编译器会捕获它

如果通过变量给出(如您的情况):

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