@interface Person1 : NSObject //<NSCopying,NSMutableCopying>
@property (nonatomic, assign) int age;
@property (nonatomic, copy) NSString *name; //如果用assign会发生啥,
//两个方便的实现 对象相等 如何实现hash isEqual等函数
- (void)print;
@end
@implementation Person1
- (void)print{
NSLog(@"%s",__func__);
}
//考察copy
//-(id)copyWithZone:(NSZone *)zone{
// Person1 *p = [Person1 new];
// p.name = self.name;
// p.age = self.age;
// return p;
//}
//- (id)mutableCopyWithZone:(NSZone *)zone{
// Person1 *p = [Person1 new];
// p.name = self.name;
// p.age = self.age;
// return p;
//}
@end
@interface ViewController ()
@property (nonatomic, assign) Person1 *person;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
Person1 *pers = [[Person1 alloc] init];
self.person = pers;//pers 持有对象,所以没有释放
self.person = [[Person1 alloc] init]; //assign赋值有直接释放了,会导致crash
[self.person print];
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.person print];
}
@end
考察点 assign属性 和copy属性
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- iOS编程中,定义属性中的特性有atomic、nonatomic、copy、assign、strong、weak等...
- 点击这里查看http://blog.csdn.net/zhangao0086/article/details/66...
- readwrite,readonly,assign,retain,copy,nonatomic属性的作用 (1)r...
- readwrite:可读可改,同时生成get方法和set方法的声明和实现readonly:只读不可改,只生成get...
- OC使用了一种叫做引用计数的机制来管理对象,如果对一个对象使用了alloc、[Mutable]copy,retai...