自定义对象的拷贝(copy 和 strong 的区别)

来源:互联网 发布:音频编辑软件哪个好 编辑:程序博客网 时间:2024/05/18 03:46
/** 对于以下的属性.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
 *
 */

@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;


0 0