控制器之间的跳转跟Swift的跳转是类似的
1.正常的代码跳转
//VC之间的跳转
@IBAction func recordMoodTapped() {
//代码的跳转
// push
pushControllerWithName("MoodDetailsController", context: MoodContextData(moodIndex: currentMood))
//modal
// presentControllerWithName("MoodDetailsController", context: nil)
}
其中,如果需要传参数的话,可以将要传到参数放到content后面,可以传各种类型的参数
然后在第二个VC的初始化中去解析
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
if let moodContextData = context as? MoodContextData {
currentMood = moodContextData.moodIndex
}
}
2.就是SB中的segue跳转,正常的去拉线就可以了
如果要传参数的话,需要设置跳转的ID
然后复写segue跳转方法去设置参数
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
if segueIdentifier == "RecordMoodSegue" {
MoodContextData(moodIndex: currentMood)
}
return nil
}
到第二个VC中解析数据跟正常代码跳转解析是一样的