Swift Xcode 8:如何在不使用segue或情节提要的情况下将数据传递给视图控制器?
我有一段代码,在按下按钮时实例化一个视图控制器:Swift Xcode 8:如何在不使用segue或情节提要的情况下将数据传递给视图控制器?,swift,uiviewcontroller,Swift,Uiviewcontroller,我有一段代码,在按下按钮时实例化一个视图控制器: @IBAction func addChapter(_ sender: Any) { let addChapterController = AddChapterViewController() self.present(addChapterController, animated: true, completion: nil) } 如果没有prepareForSegue,如何将数据传递到此新创建的视图控制器?在AddChapte
@IBAction func addChapter(_ sender: Any) {
let addChapterController = AddChapterViewController()
self.present(addChapterController, animated: true, completion: nil)
}
如果没有prepareForSegue,如何将数据传递到此新创建的视图控制器?在
AddChapterViewController
中,您可以创建要更改的变量,例如:
class AddChapterViewController: UIViewController{
var name: String?
var id: Int?
// ....
}
因此,您现在可以像这样使用其属性:
@IBAction func addChapter(_ sender: Any) {
let addChapterController = AddChapterViewController()
addChapterController.name = "Name example"
addChapterController.id = 10
self.present(addChapterController, animated: true, completion: nil)
}
在
AddChapterViewController
中,您可以创建要更改的变量,例如:
class AddChapterViewController: UIViewController{
var name: String?
var id: Int?
// ....
}
因此,您现在可以像这样使用其属性:
@IBAction func addChapter(_ sender: Any) {
let addChapterController = AddChapterViewController()
addChapterController.name = "Name example"
addChapterController.id = 10
self.present(addChapterController, animated: true, completion: nil)
}
设置视图控制器实例的属性。设置视图控制器实例的属性。嗨,我尝试了这个。但是,如果我试图在AddChapterViewController类的viewDidLoad方法中访问属性名称和id,则得到的属性名称和id值为零。@KKbot在本例中,属性
name
和id
仅在用户按下按钮时设置,如果您想在viewDidLoad
中设置它的值,您应该在调用属性之前将这段代码移到那里。是的。谢谢解决了那个问题。嗨,我试过这个。但是,如果我试图在AddChapterViewController类的viewDidLoad方法中访问属性名称和id,则得到的属性名称和id值为零。@KKbot在本例中,属性name
和id
仅在用户按下按钮时设置,如果您想在viewDidLoad
中设置它的值,您应该在调用属性之前将这段代码移到那里。是的。谢谢解决了那个问题。