Tengo una aplicación para iPhone que usa servicios web para obtener datos de un servidor. Pongo cada llamada al servicio web en una subclase de NSOperation para que se pueda enhebrar. Mi pregunta es, ¿cuál es la forma recomendada de devolver información de una subclase de NSOperation completada? Actualmente estoy enviando un NSNotification al final de mi método principal y cualquier código que esté esperando que se complete la NSOperation se suscribe a la notificación. Y luego usaré la parte del objeto de NSNotificationWithName: Object: para pasar información de la operación.Cacao - Devolver información de NSOperation
No estaba seguro de si había una mejor manera de hacerlo. He oído hablar de Key Value Coding y luego podría usar Key Value Observing para detectar cuándo se modificó la propiedad de isFinished para la operación, pero no estoy seguro de cuál es la mejor práctica.
También estoy tratando de asegurar que mi aplicación sea segura para subprocesos, lo cual supongo que no sería un problema siempre que se enviara una notificación al final del método principal, así el objeto en la notificación ya no se usa en el hilo ya que terminará.
Finalmente, llamo de la notificación de esta manera:
[[NSNotificationCenter defaultCenter] performSelectorOnMainThread:@selector(postNotification:) withObject:[NSNotification notificationWithName:@"notificationName" object:dataObject] waitUntilDone:NO];
el doc es es posible que les guste. –
frank