Ios 如何等待容器视图中的视图加载?
我遇到了这样的情况: 我有一个带有容器视图的Ios 如何等待容器视图中的视图加载?,ios,iphone,uiviewcontroller,properties,viewdidload,Ios,Iphone,Uiviewcontroller,Properties,Viewdidload,我遇到了这样的情况: 我有一个带有容器视图的UIViewControllerVC1。此容器视图包含另一个UIViewController–VC2。我需要在VC2中设置一个属性,设置后将连接到VC2的一些标签上的文本更新为IBOutlets。我可以通过执行我在脚本中创建的带有标识符“segueToVC2”的segue来访问VC2。设置VC1–PROPERTY1的属性后,我调用performsguewithidentifier方法,即在PROPERTY1的didSet方法中调用performsgue
UIViewController
VC1。此容器视图包含另一个UIViewController
–VC2。我需要在VC2中设置一个属性,设置后将连接到VC2的一些标签上的文本更新为IBOutlet
s。我可以通过执行我在脚本中创建的带有标识符“segueToVC2”的segue来访问VC2。设置VC1–PROPERTY1的属性后,我调用performsguewithidentifier
方法,即在PROPERTY1的didSet
方法中调用performsguewithidentifier
。问题是,由container视图持有的VC2视图尚未加载,我连接到VC2的IBOutlet都为零。这会导致我的应用程序崩溃
我如何解决这个问题
提前谢谢。我不确定IBOutlets是什么,还没有编程Objective-C。 另外,我不确定为什么需要使用
performsguewithidentifier
,因为您告诉我们VC2包含在容器视图中
VC1中的容器视图使用嵌入式segue链接到VC2。
您将在prepareForSegue
中获得VC2的副本,并且在viewDidLoad
或viewWillDisplay中可以设置VC2的属性
反正我在Xamarin.iOS上也是这么做的。
祝您好运。您必须在viewDidLoad
方法中设置VC2中IBOutlet的属性(文本、颜色等)。现在,要从VC1设置这些值,您应该在VC2上创建一些属性,以保存要从VC1传递到VC2的数据。然后在VC1中的“prepareForSegue”方法上设置您想要在VC2上设置的属性。然后在VC2viewDidLoad
中,使用这些属性来更新您的IBOutlets。好的,我已经用与处理VC1
相同的方法解决了这个问题:
我已经直接从AppDelegate
设置了VC2
所需的属性,一切正常。如果在故事板中设置容器视图,您只需在prepareForSegue
中设置VC2,而无需手动调用performsgue
。