区别1:在ARC(Auto Reference Count)环境下:instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型, 运行时检查类型.在MRC(Manual Reference Count)环境下:instancetype和id一样,不做具体类型检查区别2:id可以作为方法的参数,但instancetype不可以instancetype只适用于初始化方法和便利构造器的返回值类型