Ho un'app IPhone che utilizza i servizi Web per ottenere dati da un server. Sto effettuando ogni chiamata al webservice in una sottoclasse NSOperation in modo che possa essere infilato. La mia domanda è, qual è il modo consigliato per passare informazioni da una sottoclasse di NSOperation completata. Attualmente sto inviando una NSNotification alla fine del mio metodo principale e qualsiasi codice che attenda il completamento di NSOperation, sottoscrive la notifica. E poi userò la parte oggetto di NSNotificationWithName: Object: per passare le informazioni indietro dall'operazione.Cacao - Restituire le informazioni da NSOperation
Non ero sicuro se ci fosse un modo migliore per farlo. Ho sentito parlare di Key Value Coding e quindi potrei usare Key Value Observing per rilevare quando la proprietà isFinished per l'operazione è cambiata, ma non sono sicuro di quale sia la migliore pratica.
Sto anche cercando di assicurarmi che la mia applicazione sia protetta da thread, che presumo non sarebbe un problema finché una mia notifica è stata inviata alla fine del metodo principale, quindi l'oggetto nella notifica sarebbe non sarà più usato nel thread da quando finirà.
Infine, sto chiamando la notifica in questo modo:
[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:@"notificationName" object:dataObject] waitUntilDone:NO];
il documento è potrebbe piacerti. –
frank