Tengo una aplicación MVC. El modelo tiene una propiedad que es una estructura NSSize
. Es escribible como esto:¿Cómo hace NSValue su magia?
- (void)setSize:(NSSize)aSize;
La vista fija este NSSize
utilizando la clave-valor codificante. Sin embargo, no se puede clave-valor de código de una estructura, por lo que lo envolvió en una NSValue
-objeto de esta manera:
[theView setValue:[NSValue valueWithSize:mySize]
forKey:@"theModel.size"];
A mi entender, esto no debería funcionar desde el descriptor de acceso espera una estructura y no un NSValue
. Pero funciona perfectamente. Por arte de magia.
¿Cómo es esto posible?
+1 esta es una gran pregunta, porque la codificación de clave-valor es una de las cosas realmente * increíbles * sobre los frameworks de Cocoa. Además, ¡+1 para la etiqueta "mágica"! –