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