Mam interfejs z 2 przyciskami, oba z nichwywołać ten sam interfejs, ale z różnymi informacjami. W tradycyjnym interfejsie używam preparForSegue, ale nie wiem, jaki jest odpowiednik w WatchKit.
Odpowiedzi:
33 dla odpowiedzi № 1Możesz to zrobić na dwa sposoby:
W swoim scenorysie ustawiasz identyfikator w swoim segue:
a następnie możesz użyć contextForSegueWithIdentifier
:
- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier {
if ([segueIdentifier isEqualToString:@"yourIdentifier"]) {
return aDictionaryWithYourInformation;
}
}
Lub możesz przekazać informacje z kontekstem za pomocą kodu, za pomocą:
[self pushControllerWithName:@"YourViewController"
context:aDictionary];
Ten kontekst jest słownikiem i masz dostęp do tego słownika w - (void)awakeWithContext:(id)context
9 dla odpowiedzi nr 2
Do nawigacji w segmencie w Watchkit istnieją dwie metody WKInterfaceController:
override func contextForSegueWithIdentifier(segueIdentifier: String) -> AnyObject? {
return //your object
}
i na stoły
override func contextsForSegueWithIdentifier(segueIdentifier: String, inTable table: WKInterfaceTable, rowIndex: Int) -> [AnyObject]? {
return //your object
}
możesz zdobyć przedmiot, który mijasz func awakeWithContext(context: AnyObject?)
kontrolera interfejsu, który naciskasz
2 dla odpowiedzi nr 3
W WatchKit możesz tego użyć do wywołania WKInterfaceController:
[self pushControllerWithName:@"YourControlName"
context:[self contextForSegueWithIdentifier:@"YourControlName"]];