【发布时间】:2017-06-06 05:57:13
【问题描述】:
我有一个视图控制器,它与第二个视图控制器有一个转场,我将一些数据传递给第二个以准备转场。 问题是:第二个视图控制器有一个容器视图,我需要与之共享该数据。我尝试使用 prepare for segue 但在这种情况下不起作用。
更新:
查看控制器代码:
class ViewController: UITableViewController, ContainerViewDelegate {
var myContainerView = ContainerView()
var id: String!
override func viewDidLoad() {
super.viewDidLoad()
id = "123"
myContainerView.delegate = self
}
func initialize() -> String {
return id
}
}
容器视图代码:
protocol ContainerViewDelegate {
func initialize() -> String
}
class ContainerView: UICollectionViewController {
var delegate: ContainerViewDelegate!
var id: String!
override func viewDidLoad() {
super.viewDidLoad()
id = delegate.initialize()
print(id)
}
}
我收到错误:fatal error: unexpectedly found nil while unwrapping an Optional value 在线:id = delegate.initialize()
【问题讨论】:
-
使用
Delegate模式。谷歌一下。 -
我什至不知道什么是“容器视图”。
-
@shallowThought 谢谢。我确实尝试过使用 Delegate,但我得到了一些 nil 异常,我认为我没有以正确的方式使用它。能否请您提供如何使用 Delegate 的步骤的结构?
-
@nouf 请发布您尝试过的内容以及遇到“一些零异常”的位置,以便我们帮助您查明问题。
-
@ElTomato 'container view' 是您在 Xcode Storyboard 中用来挂钩子视图控制器的视图
标签: swift uicontainerview