Ios 将字符串指定给UILabel时的延迟

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,看看这个方法是否真的花了那么长时间来计算和更新信

我在应用程序中遇到了一个相当令人沮丧的错误。我不确定这是否与我运行的Xcode 6.0有关,但我个人认为这与我的代码有关

问题: 当我通过一种更新数据的方法将一对字符串分配给
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编辑,呵呵。我会尽快把你的答案标记为正确。