0

我有两个视图控制器,在调用第二个 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(因为我将来会有更多)。

我在这里做错了什么,如何解决?

谢谢你。

4

1 回答 1

4

您的问题是 IBOutlets 在加载视图之前未初始化。因此,当您分配文本时,尚未创建标签。您需要先推动它并让它加载。

因此,您要么需要创建临时变量来存储文本,然后在 viewDidLoad 中设置标签,要么需要在 viewDidLoad 上回调父视图控制器(使用委托方法)让父视图控制器设置标签。

于 2012-05-20T02:28:56.233 回答