2015-04-17 10 views

risposta

33

È possibile farlo in due modi:

Nel vostro storyboard si imposta un identificatore nel vostro segue:

enter image description here

e quindi è possibile utilizzare contextForSegueWithIdentifier:

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

Oppure puoi passare le informazioni con un contesto tramite codice, con:

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

questo contesto è un dizionario e si ha accesso a questo dizionario nel - (void)awakeWithContext:(id)context

+0

Risposta corretta, Q & A simile: https://stackoverflow.com/questions/27021186/passing-data-back-from-a-modal -view-in-watchkit/46421098 # 46421098 – BootMaker

9

Per la navigazione segue in Watchkit ci sono due metodi in WKInterfaceController:

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

e per le tabelle

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

è possibile ottenere l'oggetto che si sta passando in func awakeWithContext(context: AnyObject?) del controller di interfaccia che si sta spingendo

2

In WatchKit, è possibile utilizzare questo per chiamare WKInterfaceController:

[self pushControllerWithName:@"YourControlName" 
      context:[self contextForSegueWithIdentifier:@"YourControlName"]]; 
Problemi correlati