我发现一些对象被定义为只读属性被外部对象设置,但是不知道原因。例如,在:
// skview is an instance of SKView
// skscene is an instance of SKScene
[skview presentScene:skscene]
skscene的“view”属性是只读的,它被设置为skview。
如果skview.view属性是只读的,那么这是如何实现的呢?在自定义对象中,如何实现这种行为?
谢谢!
我发现一些对象被定义为只读属性被外部对象设置,但是不知道原因。例如,在:
// skview is an instance of SKView
// skscene is an instance of SKScene
[skview presentScene:skscene]
skscene的“view”属性是只读的,它被设置为skview。
如果skview.view属性是只读的,那么这是如何实现的呢?在自定义对象中,如何实现这种行为?
谢谢!
readonly
,则可以在.m文件(延续类别中)中重新声明它为readwrite
,因此可以直接编辑该值。setValue:forKey:
,这将绕过您可能指定的任何公共内容。@property (readonly) NSString *mySpecialString;
-(void)setMySpecialString:(NSString*)string;