在数据库中异步插入

时间:2016-02-11 09:48:01

标签: ios objective-c sqlite uiviewcontroller

UIViewController推送的UINavigationController我在DB中保存了大量数据。我想以异步方式执行数据库工作,因此如果用户点击back button并弹出我的UIViewController,我的数据库工作对此没有任何影响。我怎么能做到这一点?

2 个答案:

答案 0 :(得分:0)

viewWillDisappear上使用以下代码。

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),  ^{
    // do your Database Update This will not block your code
    // Make sure this method has no access to view controllers local properties. Pass data as Parameter 
    [self doUpdateDatabaseInBackground:(NSData*) dataToUpdate];
});

答案 1 :(得分:-2)

您可以通过创建方法在app delegate中添加数据库代码。每当您想在数据库中执行任何操作时,您都可以通过创建其对象来调用app delegate的方法。