我遇到了在-awakeFromNib方法中创建的NSAlert的问题。
xib窗口动画需要一些时间,警报会被装箱并过早地添加到应用程序中(因此它与窗口分离)。
如果我延迟方法调用,一切正常,但我想这不是实现它的正确方法。我应该如何编码呢?
- (void) awakeFromNib
{
...
[self performSelector:@selector(showAlertMethod) withObject:nil afterDelay:0.01];
}
答案 0 :(得分:2)
要确保在主线程完成当前任务时执行该方法,您可以将方法调用分派给主队列:
dispatch_async(dispatch_get_main_queue(), ^ {
[self showAlertMethod];
});