问题是:我有一些代码是这样的
otherWinController = [[NotificationWindowController alloc] init];
for (int i = 0; i < 10; i++) {
[otherWinController showMessage:[NSString stringWithFormat:@"%d", i]];
NSLog(@"%d", i);
sleep(1);
}
其中 otherWinController 是 NSWindowController 的子类,当代码发生更改时,我用它来更新窗口,而 alloc init 方法只是打开笔尖并显示窗口。 showMessage 是一种更改 NSTextView 以显示参数中的任何文本的方法。
在 NSLog 中,文本每秒都会变化,并且只数到十。然而,对于 showMessage 方法,文本整整十秒都是空白,然后只显示数字 10。有什么想法吗?
FTR,showMessage方法很简单
- (void)showMessage:(NSString *)text {
[[self message] setStringValue:text];
}
这并不重要,这是非常基本的。
如果您明确地给运行循环一些运行时间,您可能可以在循环内实现所需的效果:
[[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow: 0.1]];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)