问题描述
我有一个标签栏控制器,其中嵌入了三个 UIViewController,我们称它们为 ViewControllerA、ViewControllerB 和 ViewControllerC。我将我的 ViewControllerB 设置为 MKMapViewDelegate 子类,然后调用它的 viewDidLoad:
mapView.delegate = self
从我的 ViewControllerA,我以编程方式呈现了第四个视图控制器,称为 ViewControllerD
let vcD = ViewControlledD()
vcD.modalPresentationStyle = .fullScreen
self.present(vcD,animated: true,completion: nil)
我在那里做我需要做的事情,然后我想将一些数据发送到嵌入在我的标签栏中的 ViewControllerB 并以编程方式呈现它。我该怎么做? 我一直在尝试从我的 ViewControlledD 调用:
let vcB = ViewControlledB()
vcB.modalPresentationStyle = .fullScreen
vcB.myString = stringToPass
self.present(vcB,completion: nil)
但是当我尝试它时,它因错误而崩溃:
致命错误:在隐式解包可选值时意外发现 nil
指的是 mapView.delegate 所在的那一行。我怎样才能做到这一点?由于这是应用程序中经常发生的转换,是否有任何解决方案可以在不实例化我的 ViewControllerB 的许多不同实例但始终引用同一个实例的情况下实现这一目标?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)