【发布时间】:2012-11-12 21:59:39
【问题描述】:
我有一个带有NSStrings 和UIImages 的NSObject 课程。我通过从服务器下载数据来填充它们。我在管理器类中所做的,我下载一个 JSON 并将其解析为 NSObject 以填充基本的 NSString 和 UIImages。然后我在NSObject 的类中启动一个方法,从另一台服务器下载更复杂的数据并将NSObject 放入NSMutableDictionary。所以我最终得到的是一本包含我的NSObjects 的字典,其中一些数据已经下载,一些数据仍在下载。
然后我尝试将NSObject 的数据输入UILabels 和另一个类(视图控制器)中的UIImageViews。但是,某些数据可能仍会加载,因此 UILabel 将显示为空,例如,如果应该填充它的 NSString 尚未下载。
现在我的问题是,一旦下载(重新设置)NSString 中的NSString 类,如何再次更改UILabels 的文本?基本上我需要从UILabel 的类中“观察”NSObject 的NSString 的值。我发现了这样的东西:
observeValueForKeyPath:ofObject:change:context
但我不知道如何使用它。我知道我必须在UILabel 的类中实现它,但是当它观察到NSObject 的@987654345 发生变化时,如何以及如何设置它以更新UILabel 的文本@?
我也读过一些关于NSObjectController 类的内容,它适用于这里吗?
提前谢谢你!
【问题讨论】:
标签: iphone ios nsstring uilabel nsobject