我的视图控制器中有一些方法可以加载以备将来的操作,我在一个方法中调用它们,即:
- (void) updateSongInformation {
artistName.text = @"Testing";
[self setupEmail];
[self checkStatus];
}
如果我取出最后两行,UILabel会立即更新。有没有办法在后台运行最后2个方法,这样用户体验不会延迟?
答案 0 :(得分:8)
performSelector:withObject:afterDelay:允许你将调用推送到稍后的runloop循环。
如果这两个电话花费了大量时间,那么稍后会稍微不响应用户界面,这可能不是您想要的。在这种情况下,您需要将操作分成小块并继续使用performSelector:withObject:afterDelay:来执行下一个操作,或push the work onto a background thread。