有没有比我在下面提出的更直接的方法来在 Cocoa 中等待特定的时间?
- (void) buttonPressed {
[self makeSomeChanges];
// give the user some visual feedback and wait a bit so he can see it
[self displayThoseChangesToTheUser];
[self performSelector:@selector(buttonPressedPart2:) withObject:nil afterDelay:0.35];
}
- (void) buttonPressedPart2: (id)unused {
[self automaticallyReturnToPreviousView];
}
需要明确的是,这段代码没有功能问题——我唯一的缺点是文体问题。在我的情况下,流程很简单,它可以工作,但尝试封装它或加入一些条件,事情可能会变得丑陋。有点烦我,我找不到等待的方法,然后在像这样(虚构)示例的代码中返回同一点:
- (void) buttonPressed {
[self doStuff];
[UIMagicUnicorn waitForDuration:0.35];
[self doStuffAfterWaiting];
}