0

我正在从iOS 5.1.1下的 URL 动态加载UIPIcker视图的标签值,因此我需要在呈现视图后对其进行更新。如果我在实例化选择器时用值(通过方法)初始化它,一切正常。如果我延迟调用选择器,它确实会通过该方法查询数据源并检索选定的行表明它确实填充了新值。问题是这些字段仍然显示为. 选择器数据源、和都设置为文件的所有者(我正在使用delegatereloadAllComponentsdelegateblankdelegateIBOutlet.xib)。如果我在实例化时将初始虚拟值加载到选择器中,即使在选择器实际更新后也会显示这些值。我正在为这个问题挠头。谁能解释为什么GUI值不更新?谢谢,克里夫

[更新]
现在,我看到如果我在选择器更新后后台应用程序,它会以正确的值重新显示]。真的感觉就像我错过了一个联系。我试过打电话setNeedsDisplay没有成功。

4

1 回答 1

1

我遗漏了代码,因为我有太多不想分享的应用程序代码。我实际上发现了问题所在。我正在通过NSNotification回调填充选择器。这显然没有在主线程中运行并导致问题。通过确保通知回调的主体在主线程中运行

dispatch_async(dispatch_get_main_queue(), ^{
    MY CODE HERE
});

现在一切正常。悬崖

于 2012-07-24T20:31:46.310 回答