prepareForSegue equivalent in WatchKit

后端 未结 4 1919
生来不讨喜
生来不讨喜 2021-01-11 10:07

I have an interface with 2 buttons, both of them call the same interface but with different information. On the traditional interface I use prepareForSegue, but I don\'t kno

相关标签:
4条回答
  • 2021-01-11 10:35

    For segue navigation in Watchkit there are two methods in WKInterfaceController:

    override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
            return //your object
        }
    

    and for tables

    override func contextsForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> [AnyObject]? {
          return  //your object
        }
    

    you can get the object you are passing in func awakeWithContext(context: AnyObject?) of the interface controller you are pushing

    0 讨论(0)
  • 2021-01-11 10:40

    In WatchKit, you can use this for calling WKInterfaceController:

    [self pushControllerWithName:@"YourControlName"
              context:[self contextForSegueWithIdentifier:@"YourControlName"]];
    
    0 讨论(0)
  • 2021-01-11 10:42

    For tables it's the following:

    override func contextForSegue(withIdentifier segueIdentifier: String, in table: WKInterfaceTable, rowIndex: Int) -> Any? {
         return  //your object
        }
    
    0 讨论(0)
  • 2021-01-11 10:52

    You can do this in two ways:

    In your storyboard you set an identifier in your segue:

    enter image description here

    and then you can use contextForSegueWithIdentifier:

    - (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier {
         if ([segueIdentifier isEqualToString:@"yourIdentifier"]) {
            return aDictionaryWithYourInformation;
         }
    }
    

    Or you can pass information with a context via code, with:

    [self pushControllerWithName:@"YourViewController"
                         context:aDictionary];
    

    This context is a dictionary and you have access to this dictionary in the - (void)awakeWithContext:(id)context

    0 讨论(0)
提交回复
热议问题