美文网首页
instancetype 跟 id 的区别

instancetype 跟 id 的区别

作者: ___Samson | 来源:发表于2016-03-28 19:18 被阅读0次

    -(instancetype)initWithDict:(NSDictionary*)dict;

    +(instancetype)xxxWithDict:(NSDictionary*)dict;

    在一些构造方法中返回类型用instancetype 比较好,苹果推荐用。

    1、instancetype 编译器可以检测她的真实类型,id类型不能检测

    2、instancetype 最为返回类型上跟id 一样可以表示所有类型

    3、instancetype 只能作为返回值类型

    比如:  id xxx=@“123”;但是不能instancetype xxx = @“123”;

    NSString *xxx = [SunModel sunWithDict:dict]; 这样赋值是错误的 ,但是编译器不会知道,因为没有去检测他的真实类型,但是instancetype作为返回值,编译器就会报警告。

    !!!!所以以后返回值是任意类型的时候一律用instancetype。()

    相关文章

      网友评论

          本文标题:instancetype 跟 id 的区别

          本文链接:https://www.haomeiwen.com/subject/jvgjlttx.html