Objective-C 的scope以及property要点
Objective-C 的scope以及property要点浅析
scope
instance variable 有 scope, method 似乎没有 scope。毕竟是 dynamic typing, method 加上 scope 也满奇怪的。
instance variable 的 scope:
分为 @public, @protected, @private 和 @package (看不懂 @package, 要用到再研究, 我猜是指 scope 在「函式库」内)
@interface 预设 scope 是 @protected
@implementation 预设 scope 是 @private
property
宣告 @property Klass myObject 后, 可用 @synthesize 让 compiler 产生基本的 getter 和 setter 实作。
或是自己在 @implementation 内实作
-(void) setMyObject:(Klass*)object
{
}
-(Klass*) myObject
{
return ...;
}
个人不太喜欢 @property 的设计, 要找 property 相关存取程式时, 有点不方便。以 @property myObject 来说, 要先确定是否有用 synthesize, 若有的话, 要同时看 myObject、setMyObject 以及 synthesize 的 instance variable (如 _myObject), 才能确定没有其它存取到这个属性的地方。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
