我正在写一个可以在iOS3.0和更高版本上运行的应用程序。
这个应用程序有一个自定义的UIViewController (比方说),我是从一个.xib文件实例化的。它的视图包含一个UILabel,我已经在我的自定义UIViewController头文件和实现文件中正确地声明和合成了它等。
我希望动态设置此UILabel的文本,以便在我的UIViewController出现时将其显示给用户。为了便于讨论,请假定文本设置方法的开销很大。
问题是至少我的UIViewController在is 3.0上,-(id)initWithNibName:(NSString *) aNibNameOrNil bundle:(NSBundle *) aNibBundleOrNil比-(void)viewDidLoad更早返回,但在我的is 4.0设备上,情况正好相反。因此,文本标签可以是nil,而我并不希望它是这样的。
因此,我不知道在哪里可以设置文本,让iOS3.0和iOS4.0都满意。
这里有什么建议吗?
发布于 2011-10-12 15:35:57
你能解释一下你的标签是怎么出来的吗?
如果您为标签选择了outlet,那么在任何一种情况下,只要标签outlet在xib文件中连接正确,在- (void)viewDidLoad方法中它就不能为nil。
如果您还没有使用标签outlet并通过代码来实现,那么在- (void)viewDidLoad方法中再次实例化标签,并将其文本设置在那里,然后将其添加到视图控制器的视图中。
有关更多信息-请阅读UIViewController类参考中的- (void)viewDidLoad和- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle方法
https://stackoverflow.com/questions/7736482
复制相似问题