Мое приложение аварийно завершает работу и получает ошибку EXC_ARITHMETIC, и я не знаю почему.Вот где происходит ошибка:
int main(int argc, char *argv[]) {
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
int retVal = UIApplicationMain(argc, argv, nil, nil); //ERROR IS HERE
[pool release];
return retVal;
}
Ошибка возникает, когда я нажимаю кнопку в приложении, она подключается в моем файле ViewController.m, например:
- (IBAction)btnPressed:(UIButton *)sender {
[self btnPressed];
}
Который вызывает этот код из того же файла:
- (void)btnPressed {
NSString *strInfo = [[NSString alloc] initWithString:@"Test Info. \r\n"];
NSData *dataInfo = [strInfo dataUsingEncoding:NSUTF8StringEncoding];
[strInfo release];
[socket writeData:dataInfo withTimeout:-1 tag:1];
}
btnPressed также вызывается, когда приложение загружается, и оно НЕ выдает ошибку.Кроме того, если я добавляю точку останова в строку [self btnPressed];
, то, когда я нажимаю кнопку в приложении, она работает, останавливается на точке останова, а когда я нажимаю «продолжить выполнение программы», она также работает без ошибок.
Примечание. Я использую CocoaAsyncSocket для связи с приложением Cocoa.