Имам интерфейс с 2 бутона, и дватаобадете се в същия интерфейс, но с различна информация. В традиционния интерфейс използвам pripravForSegue, но не знам какво е еквивалентното на WatchKit.
Отговори:
33 за отговор № 1Можете да направите това по два начина:
В своята дъска за картини задавате идентификатор в своя сег:
и след това можете да използвате contextForSegueWithIdentifier
:
- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier {
if ([segueIdentifier isEqualToString:@"yourIdentifier"]) {
return aDictionaryWithYourInformation;
}
}
Или можете да предавате информация с контекст чрез код, с:
[self pushControllerWithName:@"YourViewController"
context:aDictionary];
Този контекст е речник и имате достъп до този речник в - (void)awakeWithContext:(id)context
9 за отговор № 2
За явна навигация в Watchkit има два метода в WKInterfaceController:
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
return //your object
}
и за таблици
override func contextsForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> [AnyObject]? {
return //your object
}
можете да получите обекта, през който преминавате func awakeWithContext(context: AnyObject?)
на интерфейсния контролер, който натискате
2 за отговор № 3
В WatchKit можете да използвате това за обаждане на WKInterfaceController:
[self pushControllerWithName:@"YourControlName"
context:[self contextForSegueWithIdentifier:@"YourControlName"]];