您的位置:首页 > 运维架构

@property与@synthesize的区别

2016-01-24 22:15 351 查看
上一篇文章我有讲到self.与_的区别,往往和这个问题相伴随的是我困惑的问题是"@property与@synthesize的区别"

@property的用法

@interface ViewController ()

{

NSArray *arr2;

}

@property(nonatomic,retain)NSArray *arr;

@end

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

}

- (void)setArr:(NSArray *)arr{

}

- (void)setArr2:(NSArray *)arr{

}

@end

如上所示的一段代码,有俩个变量arr2与arr

如果你是认真敲过相似的代码,你可以在敲代码的过程中就发现,arr的set方法似乎已经存在,而arr2的set方法需要完全手动敲定,而且需要调用才能执行。

所以@property的主要作用就是生成存取方法,及set和get方法

@sythesize的用法

承接上面的代码,我们可以在执行代码的最前面添加

@synthesize arr = _arr;这样当我们不需要执行存取方法的时候,及_arr就可以获取arr的值,

@sythesize的作用的是更改属性名称

如果我们使用

@synthesize arr = ssarr;

那么在执行文件arr就会叫做ssarr。通过ssarr就可以获取arr的值,听起来比较绕口,敲敲代码就知道什么意思了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: