@property与@synthesize的差别

上一篇文章我有讲到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的值,听起来比較绕口。敲写程序就知道什么意思了


原文地址:https://www.cnblogs.com/claireyuancy/p/7356772.html