【发布时间】:2010-02-12 09:38:24
【问题描述】:
我只是想了解一下 iPhone 上的 Objective-C 事件模型,从表面上看,我从根本上误解了这里的一些东西。
出于实验的目的,在视图控制器的 -viewDidLoad 方法中,我设置了 UILabel 的文本,然后休眠两秒钟,然后再次更改标签的文本。
我的期望如下:标签将首先显示“第一个文本”,然后两秒钟后它会更新为“第二个文本”。当然,情况并非如此。相反,视图在两秒钟内根本不可见,最后当它变得可见时,它的标签显示为“第二个文本”。
有人可以向我解释发生了什么吗?我很想知道你们将如何实现我在这里的目标。
干杯。
更新 1:这是 viewDidLoad 方法:
- (void)viewDidLoad {
[super viewDidLoad];
label.text = @"First Label";
sleep(2);
label.text = @"Second Label";
}
更新 2:我在这里犯了一个愚蠢的错误,所以请忽略此更新。
更新 3:我现在已将以下内容添加到我的 viewDidAppear 方法中:
- (void)viewDidAppear: (BOOL)animated {
[super viewDidAppear: animated];
label.text = @"First Label";
sleep(2);
label.text = @"Second Label";
}
不幸的是,我遇到了完全相同的问题。
更新 4:按照 gerry3 和 Felix 的建议,我现在实现了一个 performSelector,并且成功了!工作一种享受!我将不得不把它交给 gerry3,因为他肯定会尽最大努力帮助我。感谢您的所有贡献!
【问题讨论】:
标签: iphone objective-c