gpt4 book ai didi

ios - 如果 IBOutlet 在 UIViewController 类中,如何访问 UITableViewController 类中的 IBOutlet

转载 作者:行者123 更新时间:2023-11-30 11:02:32 29 4
gpt4 key购买 nike

enter image description here

 class AClass: UIViewController,CLLocationManagerDelegate,MKMapViewDelegate {

@IBOutlet var mapKitView: MKMapView!

}

class BClass: UITableViewController {

var localAClass=AClass()
localAClass.mapKitView.mapType=MKMapType.standard

}

Fatal error: Unexpectedly found nil while unwrapping an Optional value

最佳答案

在ClassB中,您需要使用UIStoryboard instantiateViewController(withIdentifier:)来实例化IBOutlets。

let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController =
storyboard.instantiateViewController("AClassIdentifier") as!
AClass

然后,IBOutlets View 在该类的 viewDidLoad() 之前不会被实例化。您的 ClassA 需要第二个属性,例如 mapType,而 ClassB 设置该属性而不是直接在 View 上设置。然后在ClassA viewDidLoad中,您可以根据这个存储的属性设置实际的mapView。

关于ios - 如果 IBOutlet 在 UIViewController 类中,如何访问 UITableViewController 类中的 IBOutlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53160339/

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