【发布时间】:2015-12-08 16:58:09
【问题描述】:
我的第一个 ViewController 中有这个 prepareForSegue,里面有一个枚举
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
enum TypeOfSegue {
case Edit, Create
}
if let DestViewController: DetailViewController = segue.destinationViewController as? DetailViewController where segue.identifier == "EditItem" {
let edit = TypeOfSegue.Edit
}
if let DestViewController: DetailViewController = segue.destinationViewController as? DetailViewController where segue.identifier == "CreateNewItem" {
let create = TypeOfSegue.Create
}
}
我想将常量编辑或创建传递给我的 DetailViewController。如果可能的话,我该怎么做?TypeOfSegue 将保存在 DetailViewController 中的哪个变量下?
【问题讨论】:
-
prepareForSegue中的可选绑定是糟糕的设计,因为你——开发者——应该从你的故事板中准确地知道 segue 的数量、目标控制器的类和字符串标识符,所以它们永远不会是 @ 987654323@。switch segue.identifier { .. }表达式更有效。