执行方法无延迟

时间:2009-05-03 21:56:32

标签: iphone objective-c

我的视图控制器中有一些方法可以加载以备将来的操作,我在一个方法中调用它们,即:

- (void) updateSongInformation {
     artistName.text = @"Testing";
     [self setupEmail];
     [self checkStatus];
}

如果我取出最后两行,UILabel会立即更新。有没有办法在后台运行最后2个方法,这样用户体验不会延迟?

1 个答案:

答案 0 :(得分:8)

performSelector:withObject:afterDelay:允许你将调用推送到稍后的runloop循环。

如果这两个电话花费了大量时间,那么稍后会稍微不响应用户界面,这可能不是您想要的。在这种情况下,您需要将操作分成小块并继续使用performSelector:withObject:afterDelay:来执行下一个操作,或push the work onto a background thread