在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
2.retain O-C内存管理和点语法 3.Runloop 4.@property(retain)编译器如何申明
编译器对于@property中的retain展开是不一样的 主要是要释放上一次的值,增加本次计数器 在dog.h中声明的: @property(retain)Dog *dog; 展开后为: -(void) setDog:(Dog *)aDog; -(Dog *)dog; 5.@synthesize编译器如何实现展开 在dog.m中实现: @synthesize dog=_dog; 展开后为: -(void) setDog:(Dog *)aDog{ if(_dog!=aDog){ [_dog release]; _dog=[aDog retain]; } } -(Dog *)dog{ return _dog; } 6.dealloc需要注意内容 dealloc必须要释放dog(retain) 在dog.m中 -(void) dealloc { self.dog=nil; [super dealloc]; } 7.copy属性的主要作用 copy属性是完全把对象重新拷贝了一份,计数器从新设置为1,和之前拷贝的数据完全脱离关系。 @property(copy) NSString* str; //表示属性的getter函数 -(double) str { return str; } //表示属性的setter函数 -(void) setStr:(NSString *)newStr { str=[newStr copy]; } 8.assign,retain,copy 1、foo=value;//简单的引用赋值 2、foo=[value retain];//引用赋值,并且增加value的计数器 3、foo=[value copy];//将value复制了一份给foo,复制后,foo和value就毫无关系 9.Foundation框架(学习Objective-C必备知识)
|
请发表评论