gpt4 book ai didi

ios - ViewController中嵌入的ContainerView : Outlets are nil

转载 作者:行者123 更新时间:2023-11-30 12:06:01 24 4
gpt4 key购买 nike

当我尝试使用函数从其父 View Controller 更新容器 View 内容时。

更新初始 ViewDidLoad 集后。应用程序崩溃。好像所有的Outlet都变成了零

最佳答案

您需要在容器 View 中获取对 View Controller 的引用,然后您应该可以访问其所有导出。为容器 View Controller 的segue分配一个segue标识符,并在调用segue时获取引用。

例如,从父 View Controller 中的按钮更新容器 View Controller 中的标签。

父 View Controller :

import UIKit

class ViewController: UIViewController {
var containerVC : ContainerVC!

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
// Get the new view controller using segue.destinationViewController.
// Pass the selected object to the new view controller.
if (segue.identifier == "segueContainer")
{
containerVC = segue.destinationViewController as! ContainerVC
}
}


@IBAction func butUpdateContainerLabelAction(sender: AnyObject) {
if containerVC != nil{
containerVC.lblDemo.text = "some new text"
}
}

}

容器 View Controller

class ContainerVC: UIViewController {

@IBOutlet weak var lblDemo: UILabel!

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}
}

关于ios - ViewController中嵌入的ContainerView : Outlets are nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46671434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com