n.e*_*ind 1 iphone global-variables objective-c self ios
好吧,以前一定要问这个但是我看起来很生气,一无所获:
我在我的iphone应用程序中有一个简单的数组,我这样定义:
@property (nonatomic, strong) NSArray *pages;
@synthesize pages = _pages;
Run Code Online (Sandbox Code Playgroud)
我在Apples示例代码中看到了这一点,并且认为这是编写self.pages(即_pages替换self.pages)的一个很好的捷径,如下所示:
_pages = [[NSArray alloc] init];
Run Code Online (Sandbox Code Playgroud)
但是Apple再次拥有它(不完全像这样,但看起来好像他们一直随机交换):
self.pages = [NSKeyedUnarchiver unarchiveObjectWithData:contents];
Run Code Online (Sandbox Code Playgroud)
最后:
[_pages release];
Run Code Online (Sandbox Code Playgroud)
这完全让我感到困惑._pages和self.pages之间会有什么区别?
谢谢你的帮助.
小智 5
_pages是对象的ivar的名称.pages是不同的属性名称.
所以,@synthesize pages = _pages;最后说明pages是伊娃的财产_pages.
您将_pages在初始化器和dealloc方法中通过ivar直接访问.在其他任何地方,属性名称用于获取/设置其值.
| 归档时间: |
|
| 查看次数: |
1336 次 |
| 最近记录: |