Ios 将字符串指定给UILabel时的延迟
我在应用程序中遇到了一个相当令人沮丧的错误。我不确定这是否与我运行的Xcode 6.0有关,但我个人认为这与我的代码有关 问题: 当我通过一种更新数据的方法将一对字符串分配给Ios 将字符串指定给UILabel时的延迟,ios,objective-c,uilabel,Ios,Objective C,Uilabel,我在应用程序中遇到了一个相当令人沮丧的错误。我不确定这是否与我运行的Xcode 6.0有关,但我个人认为这与我的代码有关 问题: 当我通过一种更新数据的方法将一对字符串分配给UILabels时,数据实际出现需要30秒 示例代码: self.availHours.text = [NSString stringWithFormat:@"%.2f", 24.0 - totalEventHours]; 我所尝试的: 我已经在我的代码中植入了NSLogs,看看这个方法是否真的花了那么长时间来计算和更新信
UILabel
s时,数据实际出现需要30秒
示例代码:
self.availHours.text = [NSString stringWithFormat:@"%.2f", 24.0 - totalEventHours];
我所尝试的:
我已经在我的代码中植入了NSLog
s,看看这个方法是否真的花了那么长时间来计算和更新信息。但是根据这些研究的结果,它在内容出现之前就结束了。我还注释掉了逻辑,并用直接字符串赋值替换它,结果仍然相同
个人结论:
就像内容在重新分配时没有重新加载一样,是否有必要告诉视图以确保其具有当前数据?如果没有必要的话,那么这可能发生的原因是什么
谢谢您的时间。正如我所评论的,您可能希望尝试在主线程上设置标签文本:
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
// On the main thread
self.availHours.text = [NSString stringWithFormat:@"%.2f", 24.0 - totalEventHours];
}];
是否确实要更改主线程上的标签文本?所有的UI更新都应该在主线程上完成。啊,我对iOS还是很新的(一般是编程),所以我甚至没有考虑过。我在作业行上放了一个断点,果然,线程4 UI编辑,呵呵。我会尽快把你的答案标记为正确。