我有两个视图控制器,在我调用第二个VC之前,我为它分配了一些参数:
Results *resultsViewController = [[Results alloc] initWithNibName:nil bundle:nil];
resultsViewController.tempBarcode = barcode;
resultsViewController.address = useraddress;
resultsViewController.key = keyAccess;
resultsViewController.product.text = tempProduct;
问题是最后一个(产品)不起作用。唯一的区别是“产品”是UILabel,而其余的都是NSStrings。
我试图避免在我的第二个VC中为每个UILabel创建另一个NSString(因为将来我还会有更多)。
我在这里做错了什么,以及如何解决这个问题?
谢谢。答案 0 :(得分:4)
您的问题是在加载视图之前不会初始化IBOutlets。因此,在分配文本时尚未创建标签。您需要先将其推入并让它加载。
因此,您需要创建临时变量来存储文本,然后在viewDidLoad中设置标签,或者您需要在viewDidLoad(使用委托方法)上回调父视图控制器以让父级设置标签。