En algunos de mis aprendizajes vi a alguien mencionar que en su controlador de vista puede tener un modelo y tener algún tipo de oyente en el modelo para los cambios en él. No creo que esté usando los nombres correctos para estos, que es probablemente la razón por la cual mis búsquedas no han encontrado nada. Básicamente, quiero mover mis llamadas de servidor de los controladores a mis modelos, pero necesito algún tipo de oyente para saber cuándo se completa la llamada para actualizar mis vistas.iOS: ¿qué es el equivalente a un detector de eventos en Objective-C?
Respuesta
a ver en delegados delegates tutorial
o bloquea un poco más avanzados basic blocks tutorial
acaba de comenzar con los delegados,
también se puede utilizar NSNotification NSNotification tutorial pero no se recomienda ya que transmite a todas las clases , y es posible que solo necesite enviar mensajes a una clase específica no todos
Creo que lo que leí fue sobre NSNotification, la razón por la que me estaba inclinando hacia eso es porque quiero que el Modelo no se dé cuenta o no se preocupe por lo que estaba escuchando. Cuando implementé delegados en otros lugares, necesitaba saber sobre el delegado para poder llamar a un método específico. En este caso, quiero modelar para simplemente transmitir que terminó, por lo que la vista que esté escuchando puede actuar de la forma que sea apropiada para esa vista específica. – Jhorra
primer enlace roto –
@IspasClaudiu actualizado gracias – MaKo
Creo Es posible que esté buscando NSNotificationCenter, que es una forma de pasar mensajes a quien quiera que esté escuchando. Entonces puede enviar una notificación de un evento en su modelo y solo escucharlo en sus controladores. Un método más limpio podría ser implementar su propio protocolo con delegados.
Objetivo C utiliza delegates
Este post tiene un buen ejemplo: How do I create delegates in Objective-C?
Usted está buscando MVA - clave/valor de observación:
http://nachbaur.com/2011/07/29/back-to-basics-using-kvo/
Los delegados + notificaciones son buenos para comunicarse entre ob jects pero no envían mensajes automáticamente cuando cambia un valor (que de su pregunta, eso es lo que pregunta)
Pertenezco al mundo C#, tengo que ir al objetivo c (para mi trabajo). Creo que el equivalente evento en c objetivo es esta implementación:
Crear protocolo con todos los métodos de su evento:
@protocol MyDelegate <NSObject>
- (void)myEvent;
@end
en su clase que debe enviar el evento, agrego:
@interface MyClassWichSendEvent : NSObject
@property (nonatomic, retain) IBOutlet id<MyDelegate> delegate;
@end
Levantando el evento donde desee, por ejemplo:
- (IBAction)testEvent:(NSButton*)sender
{
[self.delegate myEvent];
}
En su clase de escucha, debe escuchar los eventos de esta manera:
agregar el protocolo a su clase que escuchar
@interface Document : NSDocument<MyDelegate>
En la aplicación, a init o constructor de interfaces, debe vincular delegado de su instancia de objeto para escuchar con uno mismo de su clase que escucha.
En el código
-(void)awakeFromNib
{
myObjToListen.delegate = self;
}
- En Interface Builder -> IBOutlet del delegado a su clase de escucha.
Y, por último, poner en práctica su método en su clase de escucha:
- (void)myEvent
{
NSLog(@"i have listen this event !");
}
Lo siento por mi Inglés, espero que ayudan a las personas que iban de Java o C#.
Lo que no entiendo cómo se llama myEvent en una identificación? Porque lo que veo es que el delegado es un ID de IBOutlet
- 1. Bloques ObjectiveC equivalente en Java
- 2. Symfony2 detector de eventos
- 3. Agregar un detector de eventos a un iframe
- 4. Enviar datos con un detector de eventos
- 5. JavaScript: eliminar detector de eventos
- 6. ¿Cuál es la diferencia, si existe, entre el controlador de eventos y el detector de eventos?
- 7. agregando un detector de eventos personalizado en as3
- 8. ¿Cuál es el equivalente de NSHomeDirectory() en CoreFoundation?
- 9. Cómo crear un detector de eventos personalizado en node.js (express.js)?
- 10. Fuga de memoria en el detector de eventos
- 11. Javascript rendimiento del detector de eventos
- 12. JavaScript: ¿elimina un detector de eventos de ese oyente?
- 13. Javascript: la eliminación de un detector de eventos anónimo
- 14. jQuery vincular el detector de eventos antes que otro
- 15. Pros y contras del uso de excepción en IOS/ObjectiveC
- 16. Android: RadioGroup - Como configurar el detector de eventos
- 17. ¿Cuál es el equivalente de Html.fromHtml() de Android en iOS?
- 18. ¿Qué es equivalente a Microsoft.VisualBasic.Collection en C#?
- 19. ¿Cómo cambio el valor de un campo en el detector de eventos preUpdate?
- 20. ¿Cómo eliminar detector de eventos en la extensión de Chrome
- 21. ¿Qué es el ciclo de eventos en el ciclo de vida ios y cuál es su uso y qué hace?
- 22. ¿Puede un detector de eventos limitarse a tener solo un suscriptor?
- 23. ¿Cómo puedo agregar una función prototipo a un detector de eventos en la función de inicialización?
- 24. Equivalente multiplataforma a eventos de Windows
- 25. ¿Cuál es el equivalente LinkedList en marcos iOS?
- 26. ¿Qué es el equivalente "sys.stdout.write()" en Ruby?
- 27. ¿Qué es un equivalente Python de Perlbrew?
- 28. Un método para adjuntar el detector de eventos, compatible con todos los principales navegadores web
- 29. ¿Qué es el equivalente de PostgreSQL a SQL Server NVARCHAR?
- 30. ¿Cómo implementar el detector de eventos en el fondo del programa principal en Java?
Eche un vistazo a [este documento] (https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html) de Apple. – dasblinkenlight