nod*_*nja 1 getter setter cocoa-touch objective-c
我知道你使用@synthesize创建了setter和getter方法,这使得事情变得更容易,因为那时你不必自己编写.
在某些地方你必须使用self.property而不仅仅是属性才能使用setter和getter方法,例如在dealloc和initWithCoder中.
这告诉我这些setter和getter方法正在做一些重要的事情,除了让你更容易设置和获取变量.他们在做什么,他们是如何做到的?
@property如果您选择写一个,他们会在声明或您自己的实现中执行您告诉他们要做的任何事情.通常,使用访问器而不是直接修改实例变量的原因是为了避免内存泄漏.想象一下用NSString声明的实例变量
@property (nonatomic, retain) NSString *myString;
@synthesize myString;
Run Code Online (Sandbox Code Playgroud)
这些行生成一个正确调用的访问器,release以及retain何时想要更改myString对象的属性.如果您没有调用访问者,则可能会泄漏旧值,除非您小心自行进行内存管理.
| 归档时间: |
|
| 查看次数: |
1531 次 |
| 最近记录: |