id和instance的区别

他们区别并不大,都可以代表任何类型的对象.
略微的区别:
区别1:

在ARC(Auto Reference Count)环境下:

instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型, 运行时检查类型.

在MRC(Manual Reference Count)环境下:

instancetype和id一样,不做具体类型检查

区别2:

id可以作为方法的参数,但instancetype不可以

instancetype只适用于初始化方法和便利构造器的返回值类型

 
posted @ 2016-04-14 13:31  GYCocoa  阅读(363)  评论(0编辑  收藏  举报