初めてアプリを起動したときに、plistの内容がsqliteテーブルに読み込まれます。私はプロセスを実行するためにNSThreadを使用していますが、プロセスが完了するとエラーがスローされます。私は、プロセスを呼び出し、それを実行するために使用するコードは次のようである -NSThreadを使用するとエラーが発生する
[NSThread detachNewThreadSelector:@selector(addData) toTarget:self withObject:nil];
-(void)addData
{
@try {
sqlite3_stmt *stmt;
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSThread sleepForTimeInterval:1];
.
.
Process Data
.
.
[pool drain];
}
@catch (NSException *exception) {
}
}
エラーがSIGABRTエラーであり、以下のコードinthe表示されます - 私はデバッグ中のプロセスを通じて段階まし
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
プロセスは正常終了しますが、数秒後にこのエラーがスローされます。それはスレッド1で発生し、コードはMain.mにあります
誰かが私が間違っていると教えてください。
SIGABRTを取得し、UIApplicationMainに停止デバッガは、多くの場合、例外のためのいくつかの詳細は、デバッガのコンソールに出力される場合には提起されたNSException ...に起こります。上記の内容を見ても問題が解決しない場合は、ここで再現すれば良い答えが得られます。 (デバッガの出力が表示されない場合は、 '@ try' /' @ catch'構造体を削除してみてください) – rickster
スレッド1で例外が発生した場合、問題は投稿と関連していないと思いますコード。 – LuisEspinoza