Tengo una matriz de objetos que se posicionan usando CGPoints. En determinados momentos de mi aplicación, un objeto en la matriz necesita notificar a otros objetos no dispuestos de su posición. Entiendo que NSNotification es la mejor manera de hacerlo, pero no puedo encontrar un ejemplo decente de un "remitente" y un "receptor" para la notificación que envuelve y desenvuelve un CGPoint como información de usuario. ¿Alguien puede ayudar?NSNotification userinfo example?
5
A
Respuesta
15
En Cocoa Touch (pero no de cacao), PuntosCg se puede envolver y envolver con
+ (NSValue *)valueWithCGPoint:(CGPoint)point
- (CGPoint)CGPointValue
Los valores NSV se pueden almacenar en el NSDictionary pasado como el parámetro userinfo.
Por ejemplo:
NSValue* value = [NSValue valueWithCGPoint:mypoint];
NSDictionary* dict = [NSDictionary dictionaryWithObject:value forKey:@"mypoint"];
Y en su notificación:
NSValue* value = [dict objectForKey:@"mypoint"];
CGPoint newpoint = [value CGPointValue];
1
El objeto userinfo pasado junto con la notificación es simplemente un NSDictionary. Probablemente, la manera más fácil de pasar un CGPoint en la información del usuario sería resumir las coordenadas X e Y en NSNumbers utilizando -numberWithFloat :. A continuación, puede usar setObject: forKey: en el diccionario userinfo usando Xpos e Ypos como teclas, por ejemplo.
Probablemente se podría concluir que hasta en un bonito categoría en NSMutableDictionary, con métodos como setFloat: forKey o algo ...
Cuestiones relacionadas
- 1. ¿Cómo pasar userInfo en NSNotification?
- 2. NSNotification EXC_BAD_ACCESS
- 3. OCUnit testing NSNotification delivery
- 4. ¿La NSNotification retiene el objeto?
- 5. NSNotification vs. Delegate Protocols?
- 6. objeto de acceso pasado en NSNotification?
- 7. notifyDataSetChanged example
- 8. ¿Cómo agregar userInfo a UIAlertView?
- 9. ¿Qué es NSNotification?
- 10. ¿Clase como observador NSNotification?
- 11. NSNotification removeObserver problema
- 12. NSNotification VS KVO
- 13. Cómo utilizar NSNotification
- 14. Python3 http.server POST example
- 15. UIManagedDocument example/tutorial
- 16. AngularJS Test Example
- 17. SQLAlchemy Example Projects
- 18. Sencha sqlite example
- 19. Compass android example
- 20. Fastcall GCC example
- 21. small haskell libClang example?
- 22. spring 3.1 @Cacheable example
- 23. .NET DDD Example
- 24. Android Scroller simple example
- 25. webview shouldinterceptrequest example
- 26. AS3 Memory Leak Example
- 27. F # charting example
- 28. Explaining copy constructor example
- 29. JVM getObjectSize example
- 30. NSNotification se plantea varias veces
en el cacao, puede utilizar NSPointFromCGPoint, a continuación, utilizar de NSValue valueWithPoint: y pointValue. –
O puede compilar con NS_BUILD_32_LIKE_64 predefinido, en cuyo caso NSPoint es un typedef para CGPoint (siempre está en compilaciones de 64 bits). –