如何等待容器视图中的视图加载?
How to wait till the view in the container view is loaded?
我遇到过这样的情况:
我有一个 UIViewController
VC1,它有一个容器视图。此容器视图包含另一个 UIViewController
– VC2。我需要在 VC2 中设置一个 属性 并在设置后更新一些连接到 VC2 的标签上的文本作为 IBOutlet
s。我可以通过执行我在故事板中使用标识符 "segueToVC2" 创建的 segue 来访问 VC2。我在 VC1 – PROPERTY1 的 属性 设置后调用了一个 performSegueWithIdentifier
方法,即我在 PROPERTY1 的 didSet
方法中调用了一个 performSegueWithIdentifier
。问题是容器视图持有的 VC2 视图尚未加载,我连接到 VC2 的 IBOutlets 都是零。这会导致我的应用程序崩溃。
如何解决这个问题?
提前致谢。
我不确定 IBOutlets 是什么,还没有编程 Objective-C。
另外,我不确定您为什么需要使用 performSegueWithIdentifier
,因为您告诉我们 VC2 包含在容器视图中。
VC1 中的容器视图使用嵌入式 segue 链接到 VC2。
您将在 prepareForSegue
中获得 VC2 的副本,在您的 viewDidLoad
或 viewWillAppear
中,您可以设置 VC2 的 属性。
无论如何,我在 Xamarin.iOS 上就是这样做的。
祝你好运。
您必须在 viewDidLoad
方法中设置 VC2 中 IBOutlets 的属性(文本、颜色等)。现在要从 VC1 设置这些值,您应该在 VC2 上创建一些属性来保存要从 VC1 传递到 VC2 的数据。然后在 VC1 的 'prepareForSegue' 方法上设置你想要在 VC2 上的属性。然后在 VC2 viewDidLoad
中使用这些属性更新您的 IBOutlets。
好的,我已经设法以与我一直处理 VC1
相同的方式解决问题:
我直接从 AppDelegate
设置了 VC2
所需的 属性,一切正常。
我遇到过这样的情况:
我有一个 UIViewController
VC1,它有一个容器视图。此容器视图包含另一个 UIViewController
– VC2。我需要在 VC2 中设置一个 属性 并在设置后更新一些连接到 VC2 的标签上的文本作为 IBOutlet
s。我可以通过执行我在故事板中使用标识符 "segueToVC2" 创建的 segue 来访问 VC2。我在 VC1 – PROPERTY1 的 属性 设置后调用了一个 performSegueWithIdentifier
方法,即我在 PROPERTY1 的 didSet
方法中调用了一个 performSegueWithIdentifier
。问题是容器视图持有的 VC2 视图尚未加载,我连接到 VC2 的 IBOutlets 都是零。这会导致我的应用程序崩溃。
如何解决这个问题?
提前致谢。
我不确定 IBOutlets 是什么,还没有编程 Objective-C。
另外,我不确定您为什么需要使用 performSegueWithIdentifier
,因为您告诉我们 VC2 包含在容器视图中。
VC1 中的容器视图使用嵌入式 segue 链接到 VC2。
您将在 prepareForSegue
中获得 VC2 的副本,在您的 viewDidLoad
或 viewWillAppear
中,您可以设置 VC2 的 属性。
无论如何,我在 Xamarin.iOS 上就是这样做的。 祝你好运。
您必须在 viewDidLoad
方法中设置 VC2 中 IBOutlets 的属性(文本、颜色等)。现在要从 VC1 设置这些值,您应该在 VC2 上创建一些属性来保存要从 VC1 传递到 VC2 的数据。然后在 VC1 的 'prepareForSegue' 方法上设置你想要在 VC2 上的属性。然后在 VC2 viewDidLoad
中使用这些属性更新您的 IBOutlets。
好的,我已经设法以与我一直处理 VC1
相同的方式解决问题:
我直接从 AppDelegate
设置了 VC2
所需的 属性,一切正常。