OC属性
ekk0
愿新年胜旧年! 2019,加油!
展开
-
copy,strong和weak
我去的群多原创 2019-02-22 09:31:08 · 278 阅读 · 0 评论 -
Block用copy来修饰
block也经常使用copy关键字,可见官方文档Objects Use Properties to Keep Track of Blocks block使用copy是从MRC遗留下来的“传统”,在MRC中,方法内部的block是在栈区的,使用copy可以把它放到堆区.在ARC中写不写都行:对于block使用copy还是strong效果是一样的,但写上copy也无伤大雅,还能时刻提醒我们:编译器自动...原创 2019-02-20 16:06:34 · 369 阅读 · 0 评论 -
Delegate代理用weak来修饰
Delegate用weak来修饰的原因就是为了防止循环引用, 就是两个对象相互强引用,就会导致retain cycle, 从而导致内存泄露。 如果用assign弱引用可以吗? weak和assign是一种“非拥有关系”的指针,通过这两种修饰符修饰的指针变量,都不会改变被引用对象的引用计数。但是在一个对象被释放后,weak会自动将指针指向nil,而assign则不会。在iOS中,向nil发送消息时不...原创 2019-02-20 14:40:43 · 414 阅读 · 0 评论 -
声明UI控件属性用strong来修饰
首先我们来创建一个weak修饰的view. @property (nonatomic, weak) UIView *ekView; 当我们在viewDidLoad里面创建的时候: 警告信息: 将保留对象分配给弱属性; 对象将在分配后释放 分析: ekView并不会被添加到self.view上,因为ekView已经被释放了, 不存在了. weak修饰,引用计数并不会+1,所以为0,也就是被释放...原创 2019-02-20 14:08:31 · 329 阅读 · 0 评论 -
IBOutlet 为什么默认是用weak来修饰的?
首先看一下官方文档的介绍Managing the Lifetimes of Objects from Nib Files Each time you ask the NSBundle or NSNib class to load a nib file, the underlying code creates a new copy of the objects in that file and r...原创 2019-02-20 13:09:10 · 991 阅读 · 0 评论 -
OC 属性的三大特性:
属性的三大特性: 1.读写特性. 写 ---- setter方法 读 ---- getter方法 (1)readwrite:(可读可写)该属性既会生成getter方法,也会生成setter方法.默认的读写特性. (2)readonly:(只读)该属性只会生成getter方法,不会生成setter方法. (3)setter = 方法名 (aa:)指定在生成setter方法时,setter方法的方法名...原创 2019-02-20 11:47:37 · 489 阅读 · 0 评论 -
NSString用copy, NSMutableString用strong.
上代码: //定义两个属性: /** strong修饰的字符串 **/ @property (nonatomic, strong) NSString *sString; /** copy修饰的字符串 **/ @property (nonatomic, copy) NSString *cString; - (void)test { NSMutableString *mString = [[...原创 2019-02-19 19:19:30 · 455 阅读 · 0 评论