/** 对于以下的属性.m中的 set方法的实质是 */
/**
* -(void)setName:(NSString *)name{
* _name = [name copy];
* }
* 在其他类的类中
* NSString * name = @"jack";
* QGPerson * p = [[QGPerson allocWithZone:zone]init];
* p.name = name;
* name = @"rose";
* 这时候打印的 p.name 值是 jack
*
*/
@property(nonatomic, copy)NSString * name;
/** 对于以下的属性.m中的 set方法的实质是 */
/**
* -(void)setName:(NSString *)name{
* _name = name;
* }
* 在其他类的类中
* NSString * name = @"jack";
* QGPerson * p = [[QGPerson allocWithZone:zone]init];
* p.name = name;
* name = @"rose";
* 这时候打印的 p.name 值是 rose
*
*/
/**
* -(void)setName:(NSString *)name{
* _name = [name copy];
* }
* 在其他类的类中
* NSString * name = @"jack";
* QGPerson * p = [[QGPerson allocWithZone:zone]init];
* p.name = name;
* name = @"rose";
* 这时候打印的 p.name 值是 jack
*
*/
@property(nonatomic, copy)NSString * name;
/** 对于以下的属性.m中的 set方法的实质是 */
/**
* -(void)setName:(NSString *)name{
* _name = name;
* }
* 在其他类的类中
* NSString * name = @"jack";
* QGPerson * p = [[QGPerson allocWithZone:zone]init];
* p.name = name;
* name = @"rose";
* 这时候打印的 p.name 值是 rose
*
*/
@property (nonatomic, strong)NSString * name;
/** 对于可变的字符串的设置 */
/** 对于以下的属性.m中的 set方法的实质是 */
/**
* -(void)setName:(NSString *)name{
* _name = [name copy];
* }
* 应该用 strong 修饰 这样用 copy 修饰
* 在写_name.apped(@"123")会出问题的
* 应该用 strong 修饰
*
*/
@property (nonatomic, copy) NSMutableString * name;