A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始


1. 类中定义的@public, @private, @protected只影响继承它的类的访问权限。
2. @property会为变量自动加上getter/setter方法。
3. getter方法:
[size=1em][backcolor=rgb(108, 226, 108) !important]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em][size=1em]-(id) name
[size=1em]{
[size=1em]     return name;
[size=1em]}



4. setter方法:
[size=1em][backcolor=rgb(108, 226, 108) !important]
[color=white !important][size=1em]?

[size=1em]1

[size=1em]2

[size=1em]3

[size=1em]4

[size=1em]5

[size=1em]6

[size=1em]7

[size=1em]8

[size=1em][size=1em]-(void) setName:(id)_name
[size=1em]{
[size=1em]    if (name != _name)
[size=1em]   {
[size=1em]         [name release];
[size=1em]         name = [_name copy];// 设置了copy参数的情况
[size=1em]   }
[size=1em]}




5. @property的copy, retain, assign参数
影响setter函数:
copy: name = [_name copy];  // NSString推荐使用
retain: name = [_name retain]; // 其他object类型推荐使用
assign: name = _name;   // delegate, 基本数据类型(int)推荐使用
6. @property的readonly参数
仅生成getter函数
7. @property的atomic, nonatomic参数
atomic一定程度上保证了getter和setter的线程安全,但不能完全依赖。
nonatomic不保证线程安全,速度快。大多数情况用nonatomic
8. @property的默认参数:
atomic, assign, readwrite

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马