我是否正确使用故事板?
Do I use storyboards right?
我用的故事板对吗?
我有几个带有视图控制器的故事板。
当我需要在它们之间导航时,我会执行以下操作:
我每次使用故事板时都会创建一个新实例 let storyboard = ...
。这是一个糟糕的方法吗?或者我应该在 view did load
?
中声明它
func detailsRequestedForMessage(message: message) {
let storyboard = UIStoryboard(name: "Additional", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "MessageDetailsViewController") as! MessageDetailsViewController
viewController.messageId = message.id
self.navigationController?.pushViewController(viewController, animated: true)
}
func viewAllMessage() {
let storyboard = UIStoryboard(name: "Additional", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "AllMessageViewController") as! AllMessageViewController
self.navigationController?.pushViewController(viewController, animated: true)
}
func viewOptions() {
let storyboard = UIStoryboard(name: "Options", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "OptionsViewController") as! OptionsViewController
self.present(viewController, animated: true)
}
存储情节提要引用不需要任何费用,但从名称解析情节提要引用需要时间。所以我会说你应该把像
这样的行
self.storyboardAdditional = UIStoryboard(name: "Additional", bundle: nil)
在viewDidLoad
中,将引用存储在属性中,然后通过属性引用故事板。
我用的故事板对吗?
我有几个带有视图控制器的故事板。
当我需要在它们之间导航时,我会执行以下操作:
我每次使用故事板时都会创建一个新实例 let storyboard = ...
。这是一个糟糕的方法吗?或者我应该在 view did load
?
func detailsRequestedForMessage(message: message) {
let storyboard = UIStoryboard(name: "Additional", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "MessageDetailsViewController") as! MessageDetailsViewController
viewController.messageId = message.id
self.navigationController?.pushViewController(viewController, animated: true)
}
func viewAllMessage() {
let storyboard = UIStoryboard(name: "Additional", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "AllMessageViewController") as! AllMessageViewController
self.navigationController?.pushViewController(viewController, animated: true)
}
func viewOptions() {
let storyboard = UIStoryboard(name: "Options", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier: "OptionsViewController") as! OptionsViewController
self.present(viewController, animated: true)
}
存储情节提要引用不需要任何费用,但从名称解析情节提要引用需要时间。所以我会说你应该把像
这样的行self.storyboardAdditional = UIStoryboard(name: "Additional", bundle: nil)
在viewDidLoad
中,将引用存储在属性中,然后通过属性引用故事板。