摘要: 什么是循环引用呢? 就是我引用你,你引用我,就会造成循环引用,双方都不会被销毁,导致内存泄漏。 _block = ^{ NSLog(@"%@", self); }; block会对里面强指针变量self强引用一次,造成循环引用。 下面说明一下循环引用是怎么发生的? 1.控制器对象里面有个block属 阅读全文
posted @ 2016-12-13 16:52 岩大大 阅读(196) 评论(0) 推荐(0) 编辑
摘要: id: 好处:可以调用任何对象方法 坏处:不能进行编译检查 + (id)person; instancetype 好处:自动识别当前类的对象 坏处:不会提示返回的类型 + (instancetype)person; 注:Xcode5之后才有instancetype,在之前一般用id,instance 阅读全文
posted @ 2016-12-13 15:49 岩大大 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 很多小伙伴都仅仅知道泛型是限制类型的,其他的就不太清楚了,下面给大家详细讲解一下泛型,以及协变和逆变。 泛型作用: 1.限制类型; 2.提高代码规划,减少沟通成本,一看就知道集合中是什么东西。 泛型声明:在声明类的时候,在类的后面<泛型名称> 泛型定义用法:类型<限制类型> 泛型好处: 1.从数组中 阅读全文
posted @ 2016-12-13 15:41 岩大大 阅读(1156) 评论(0) 推荐(0) 编辑
摘要: 相信在开发过程中,很多小伙伴们儿都会见到nullable,nonnull,null_resettable,_Null_unspecified这几个关键字,但是并不知道它们是什么意思,下面我就给大家一一解释一下。 在解释这四个关键字之前,先给大家普及一下关键字是干嘛的。 关键字:可以用于属性,方法返回 阅读全文
posted @ 2016-12-13 15:17 岩大大 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 我们在看一些大牛的第三方时,里面会出现很多const、static和extern,尤其是const和static,const和extern的结合使用,直接令很多小伙伴懵逼了,今天就详细讲解一下这三个关键字的正确使用方式。 一、const const的作用和宏是很类似的,其实,苹果是不推荐我们使用宏的 阅读全文
posted @ 2016-11-24 17:06 岩大大 阅读(7415) 评论(0) 推荐(1) 编辑
摘要: 最近在研究Runtime,因此,打算写一篇文章跟小伙伴儿们分享一下。好了,废话不多说,直接上干货。 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。简单说一下C与OC在编译和运行阶段的区别,对于C语言,函数的调用在编译的时候会决定调用哪个函数。对于O 阅读全文
posted @ 2016-11-23 15:13 岩大大 阅读(832) 评论(0) 推荐(0) 编辑