ios - 在 Storyboard中使用 Segues 制作一个具有非可选属性的 View Controller ?

标签 ios swift uiviewcontroller segue

我有一个具有属性的 View Controller 。

class GameVC: UIViewController {

    var game:Game?
    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

要使 View Controller 有意义,它必须具有游戏属性。出于这个原因,我希望该属性不是可选的(我也希望在整个使用它时不必打开它)。

我目前正在在此之前的 VC 中覆盖准备转场并设置游戏属性。这是因为我肯定想使用转场和 Storyboard。无论如何,我可以让这个 View Controller 有一个自定义的 init 并仍然使用 segues 和 Storyboards 吗?

最佳答案

是的。您有两个选择:

在声明中初始化:

class GameVC: UIViewController {
     let game = Game()

实现init(coder:)awakeFromNib:

class GameVC: UIViewController {
     let game : Game
     required init?(coder aDecoder: NSCoder) {
         self.game = Game()
         super.init(coder:aDecoder)
     }

关于ios - 在 Storyboard中使用 Segues 制作一个具有非可选属性的 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42655576/

相关文章:

快速从网络下载数据

ios - 如何从 UIAlertcontroller 中关闭模态 ViewController

ios - CGFloat 最小值与当前值

ios - obj-c 和 swift 中相同的 HMAC 算法创建不同的哈希值

ios - 如何使用配置文件将 Web 链接添加到用户的主屏幕?

iphone - 我们如何从 iPhone Camera 获取 H.264 编码的视频流?

ios - 无法在 TextField 中键入

ios - 本地化 xib 时出现 Xcode 链接器错误

ios - 如何监控20多个区域?

swift - (Swift) 在 ViewController 的容器 View 中显示 TableViewController