Web サービスから大量のデータをダウンロードし、そのデータを SQLite データベースに挿入しています。私は次の方法でこのアクションを実行していますNSThread
:
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[NSThread detachNewThreadSelector:@selector(InsertIntoDatabase) toTarget:self withObject:nil];
[pool drain];
アプリを初めて実行すると、データが挿入され、正常に動作します。2 回目もデータが挿入されますが、3 回目にアプリを開くとクラッシュし、コンソールに次のように表示されます。
* -[AttendeeDetails addData:anddbpath:]、/Users/abhisheknaidu/Desktop/EventApp/AttendeeDetails.m:187 2012-08-10 14:53:21.120 EventApp[3020:1a33] でのアサーションの失敗 *
キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了しています。理由: 'データの挿入中にエラーが発生しました。「データベースはロックされています」