Ich habe eine MVC-Anwendung. Das Modell hat eine Eigenschaft, die eine Struktur NSSize
ist. Es ist beschreibbar wie folgt aus:Wie macht NSValue seine Magie?
- (void)setSize:(NSSize)aSize;
Der Blick dieses setzt NSSize
Schlüssel-Wert-Codierung verwenden. Sie können jedoch nicht Schlüssel-Wert-Code eine Struktur, so dass ich wickelte es in ein NSValue
-Objekt wie folgt aus:
[theView setValue:[NSValue valueWithSize:mySize]
forKey:@"theModel.size"];
Zu meinem Verständnis, sollte dies nicht funktionieren, da die Zugriffs eine Struktur erwartet und nicht eine NSValue
. Aber es funktioniert perfekt. Magisch.
Wie ist das möglich?
+1 das ist eine gute Frage, denn Schlüssel-Wert-Codierung ist eine der wirklich * tollen * Dinge über die Cocoa-Frameworks. Auch +1 für das "magische" Tag! –