Xcode 8:如何在不使用segue或storyboard的情况下将数据传递给视图控制器?

Eth*_*hao 0 uiviewcontroller swift

所以我有这个代码,当按下按钮时实例化一个视图控制器:

@IBAction func addChapter(_ sender: Any) {
    let addChapterController = AddChapterViewController()
    self.present(addChapterController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)

没有prepareForSegue,如何将数据传递给这个新创建的视图控制器?

Ale*_*ara 5

在你AddChapterViewController可以创建你想改变,例如变量:

class AddChapterViewController: UIViewController{
    var name: String?
    var id: Int?
    // ....
}
Run Code Online (Sandbox Code Playgroud)

所以你现在可以像这样使用它的属性:

@IBAction func addChapter(_ sender: Any) {
    let addChapterController = AddChapterViewController()
    addChapterController.name = "Name example"
    addChapterController.id = 10

    self.present(addChapterController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)