objective-c系列-@Property&点语法

时间:2022-09-08 06:34:04

//解释 property后边的圆括号中的修饰词的含义:

//          nonatomic  非线程安全  非原子操作  特点是: 操作变量的效率高

//          atomic     线程安全    原子操作   特点是: 操作变量的效率低

//

//          retain     强引用实例变量, 即 setter方法中会有:

//                                  -(void)setXXX:(xxx)arg

//                                  {

//                                      [_属性名 release];

//                                      _属性名 = [arg retain];

//                                  }

//                      而且该类需要重写 dealloc方法

//                     非oc字符串的其它所有类对象都要用retain

//

//          copy       复制,  即setter方法中会有:

//                                  -(void)setXXX:(xxx)arg

//                                  {

//                                      [_属性名 release];

//                                      _属性名 = [arg copy];

//                                  }

//                      而且该类需要重写 dealloc方法

//                  copy适用的对象为: oc字符串,  block

//

//          assign     直接赋值,  即setter方法中会有:

//                                  -(void)setXXX:(xxx)arg

//                                  {

//                                      _属性名 = arg;

//                                  }

//                  适用于所有非对象的数据类型:int float, char, struct

//                      union,   void *,  SEL, CLASS   BOOL 枚举

//          readonly  不对外提供setter方法, 限定实例变量不能被外部修改

************************************************

// 点语法

@class Person;

Person *person = [[Person alloc] init];

person.name = @"海燕";// setter方法

NSString *love = person.name; // getter方法

end