Mám rozhranie s 2 tlačidlami, obojevolať rovnaké rozhranie, ale s rôznymi informáciami. Na tradičnom rozhraní používam preparForSegue, ale neviem, čo je ekvivalentné na WatchKit.
odpovede:
33 pre odpoveď č. 1Môžete to urobiť dvomi spôsobmi:
Vo svojom storyboarde ste nastavili identifikátor v segue:
a potom môžete použiť contextForSegueWithIdentifier
:
- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier {
if ([segueIdentifier isEqualToString:@"yourIdentifier"]) {
return aDictionaryWithYourInformation;
}
}
Alebo môžete odovzdať informácie s kontextom pomocou kódu:
[self pushControllerWithName:@"YourViewController"
context:aDictionary];
Tento kontext je slovník a do tohto slovníka máte prístup v - (void)awakeWithContext:(id)context
9 pre odpoveď č. 2
Pre navigáciu v seku v Watchkite existujú dve metódy vo WKInterfaceController:
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
return //your object
}
a pre tabuľky
override func contextsForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> [AnyObject]? {
return //your object
}
môžete dostať objekt, okolo ktorého prechádzate func awakeWithContext(context: AnyObject?)
ovládača rozhrania, ktorý tlačíte
2 pre odpoveď č. 3
V WatchKit to môžete použiť na volanie WKInterfaceController:
[self pushControllerWithName:@"YourControlName"
context:[self contextForSegueWithIdentifier:@"YourControlName"]];