prepareForSegue equivalent in WatchKit
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
You can do this in two ways:
In your storyboard you set an identifier in your segue:
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
In WatchKit, you can use this for calling WKInterfaceController:
[self pushControllerWithName:@"YourControlName"
context:[self contextForSegueWithIdentifier:@"YourControlName"]];