我有兩種方法作爲loadTopicPostsFromDB和loadTopicPosts。在loadTopicPostsFromDB方法中,我正在更新名爲strLastTimeStamp的全局NSString的值,該值應在loadTopicPosts中使用。因此,我想首先執行loadTopicPostsFromDB,並在完成後(全局字符串更新),我想執行loadTopicPosts方法。 這就是我做到的。但是,當前loadTopicPosts方法在更新全局strLastTimeStamp之前執行,所以總是出現錯誤的strLastTimeStamp。完成另一種方法後執行方法的問題 - iOS
dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_group_t group = dispatch_group_create();
dispatch_group_async(group, queue, ^{
[self performSelectorOnMainThread:@selector(loadTopicPostsFromDB) withObject:nil waitUntilDone:NO];
});
dispatch_group_notify(group, queue, ^{
NSLog(@"LoadDBCompleted");
[self loadTopicPosts];
});
我該怎麼做,請告訴我這個實現有什麼問題。
你嘗試用waitUntilDone寫:YES ??? – DilumN
爲什麼不從loadTopicPostsFromDB的最後一行執行loadTopicPosts方法? – DilumN
@DilumN這是無法完成的,因爲我還有其他一些場景需要考慮。 – sajaz