我正在开发具有数据库同步机制的应用程序。
我正在调用同步服务如下
[NSThread detachNewThreadSelector:@selector(sync)
toTarget:[SyncService sharedInstance]
withObject:nil];
但这里的问题是,同步不是在后台执行的。结果应用
将处于空闲状态,直到同步完成。所以,我想到了使用 GCD 作为背景
处理并做了以下
dispatch_async(dispatch_get_global_queue(0, 0), ^{
[[SyncService sharedInstance]Sync];
});
但是即使现在同步也没有在后台执行。我希望在后台执行同步
背景。
编辑:
每当我不使用 [NSThread detachNewThreadSelector:@selector(sync)
toTarget:[SyncService sharedInstance] withObject:nil];,
紧接着的下一行 [[[SyncService sharedInstance] delegate]addObject:self]; 不是
称为。当我使用 GCD(全局队列)时不会调用它。
任何帮助是极大的赞赏。