Domanda

uno dei miei regolatori di vista ha diverse UISwitches, e voglio un altro controller di vista per essere in grado di accedere ai valori delle UISwitches perché se / e dichiarazioni. Come faccio a fare questo in Objective-C?

È stato utile?

Soluzione

Probabilmente non si vuole farlo. Se si desidera un secondo ViewController di avere un comportamento diverso in base a commutatori gettati nel primo, si deve solo associare gli interruttori delle impostazioni predefinite di utente, che potete leggere in qualsiasi punto della app.

http: // icodeblog. com / 2008/10/03 / iphone-programmazione dimostrativi-savingretrieving-dati-con-NSUserDefaults /

Altri suggerimenti

Questa è una cattiva idea in quanto creerebbe una dipendenza non necessaria tra i controller di vista.

Se si vuole ancora farlo, basta passare un riferimento del primo controller della vista con gli interruttori al secondo controller della vista. Poi, nel tuo secondo controller della vista solo accedere alla proprietà corrispondente on di UISwitch.

Tuttavia, invece di andare quell'itinerario, suggerisco vivamente di creare una classe personalizzata per mantenere lo stato booleano di ogni UISwitch. Un'istanza di questa classe potrebbe essere un singleton, o contenuta nel delegato applicazione. Vedere questo rispondere come farlo con entrambi gli approcci.

Una classe personalizzata è meglio perché un UISwitch è solo un modo per rappresentare alcune proprietà nel modello di dati. E se domani è stato sostituito l'UISwitch con un'altra fantasia controllo, il secondo controllore visualizzazione dovrebbe continuare a lavorare. Entrambi i controller di vista hanno un riferimento a un oggetto di questa classe personalizzata. Ogni volta che c'è un cambiamento, il primo controller aggiorna questo oggetto.

L'interfaccia di classe potrebbe essere qualcosa di simile:

@interface DataValues : NSObject {
    BOOL first;
    BOOL second;
    BOOL third;
}

@property BOOL first;
@property BOOL second;
@property BOOL third;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top