2009-05-03 49 views
3

我有我的视图控制器内部的一些方法,用于加载为未来的行动,我叫他们都这么即:一个方法中执行方法无延迟

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

如果我拿出最后2行, UILabel即时更新。有没有办法在后台运行最后2种方法,以便用户体验不会被延迟?

回答

8

performSelector:withObject:afterDelay:可让您将调用推送到稍后的runloop循环。

如果这两个调用需要大量的时间,稍后才会使用户界面无响应,这可能不是您想要的。在这种情况下,您需要将操作分解为小块并继续使用performSelector:withObject:afterDelay:执行下一部分或push the work onto a background thread

+0

+1,比定时器好 – 2009-05-03 22:13:22