美文网首页
Nullability and Objective-C

Nullability and Objective-C

作者: Ylang | 来源:发表于2016-07-21 15:55 被阅读20次
    在swift中,可以使用!和?来表示一个对象是optional的还是non-optional,如view?
    和view!。而在Objective-C中则没有这一区分,view即可表示这个对象是
    optional,也可表示是non-optioanl。这样就会造成一个问题:在Swift与
    Objective-C混编时,Swift编译器并不知道一个Objective-C对象到底是optional还
    是non-optional,因此这种情况下编译器会隐式地将Objective-C的对象当成是
    non-optional。
    
    为了解决这个问题,苹果在Xcode 6.3引入了一个Objective-C的新特性:
    nullability annotations。这一新特性的核心是两个新的类型注释:**__nullable**
    和**__nonnull**。从字面上我们可以猜到,**__nullable**表示对象可以是NULL或
    nil,而**__nonnull**表示对象不应该为空。
    当我们不遵循这一规则时,编译器就会给出警告。
    

    文档地址

    相关文章

      网友评论

          本文标题:Nullability and Objective-C

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