AppleWatch控制器之间的跳转

控制器之间的跳转跟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

AppleWatch控制器之间的跳转_第1张图片
设置跳转的ID

然后复写segue跳转方法去设置参数

override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
        if segueIdentifier == "RecordMoodSegue" {
            MoodContextData(moodIndex: currentMood)
        }
        return nil
    }

到第二个VC中解析数据跟正常代码跳转解析是一样的

github地址:https://github.com/WWLJ/MoodTracker/tree/master

你可能感兴趣的:(AppleWatch控制器之间的跳转)