繁体   English   中英

UILabel始终为零

[英]UILabel is always nil

我有以下问题。

这是我的代码:

GTSearchViewController* vc = [[GTSearchViewController alloc] initWithNibName:@"GTSearchViewController"
                                                                          bundle:nil];

vc.headlineLabel.text = [[self.categorieArray objectAtIndex:indexPath.row] valueForKey:@"categoryName"];

[AppDelegate().centerViewController pushViewController:vc
                                              animated:YES];

如您所见,我尝试使用xib文件推送New ViewController,并希望从Array self.categorieArray headlineLabel设置一个String。 但是,当SearchController被推入时,一切正常,但我的headlineLabel始终为nil

我不明白为什么,我想我不需要在SearchController调用“ alloc-init”,因为所有内容都是使用Interface Builder构建的?

您的问题是在实际加载之前更改UI。

您应该在视图控制器的ViewDidLoad中设置标签的文本(在加载视图之后调用)。


在您的SearchViewController类中设置NSString属性,并在初始化后立即进行设置。

vc.headlineText = [[self.categorieArray objectAtIndex:indexPath.row] valueForKey:@"categoryName"];

然后,在SearchViewController中,您应该重写viewDidLoad方法:

 - (void) viewDidLoad{
       [super viewDidLoad];
       self.headlineLabel.text = self.headlineText;
    }

PS当然,我认为您已经正确设置了headlineLabel出口(来自Interface Builder)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM