如何等到容器视图中的视图加载?

时间:2016-03-20 15:43:50

标签: ios iphone uiviewcontroller properties viewdidload

我有这种情况:

我有一个verify error:num=20:unable to get local issuer certificate verify return:0 VC1 ,它有一个容器视图。此容器视图包含另一个UIViewController - VC2 。我需要在 VC2 中设置一个属性,在设置之后,将一些连接到VC2的标签上的文本更新为UIViewController s。我可以通过执行我在故事板中使用标识符" segueToVC2"创建的segue来访问VC2。在设置VC1 - PROPERTY1的属性后调用IBOutlet方法,即我在PROPERTY1的performSegueWithIdentifier方法中调用performSegueWithIdentifier。问题是容器视图保存的VC2视图尚未加载,而我连接到VC2的IBOutlet都是零。这会导致我的应用崩溃。

如何解决此问题?

提前致谢。

3 个答案:

答案 0 :(得分:0)

我不确定IBOutlets是什么,还没有编程Objective-C。 此外,我不确定您为什么需要使用performSegueWithIdentifier,因为您告诉我们VC2包含在容器视图中。

VC1中的容器视图使用嵌入的segue链接到VC2。 您将在prepareForSegueviewDidLoadviewWillAppear中获得VC2的副本,您可以设置VC2的属性。

无论如何,我是如何在Xamarin.iOS上做的。 祝你好运。

答案 1 :(得分:0)

您必须使用viewDidLoad方法在VC2中设置IBOutlets的属性(文本,颜色等)。现在要从VC1设置这些值,您应该在VC2上创建一些属性来保存您想要从VC1传递到VC2的数据。然后在VC1中的'prepareForSegue'方法中设置VC2上所需的属性。然后在VC2 viewDidLoad中使用这些属性来更新您的IBOutlets。

答案 2 :(得分:0)

好的,我已经成功解决了这个问题,就像我处理VC1一样: 我直接从VC2设置了AppDelegate所需的属性,一切正常。