美文网首页iOS菜鸟食谱
__nullable和__nonnull

__nullable和__nonnull

作者: FortunateStone | 来源:发表于2016-02-19 10:58 被阅读208次

    Xcode 6.3的发布,给我们带来了OC的一个新特性:nullability

    __nullable 和 __nonnull

    两个新的类型注解:__nullable和__nonnull,__nullable可以表示一个NULL或者nil值,__nonnull刚好相反。

    为了更好的解释这个注释的含义,还是直接上代码吧:

    在这里大家可以看到,当我声明一个函数,把参数注解设置为__nonnull以后,我调用函数传入nil就会有警告。

    而且注解的添加位置很灵活。额,我又在上面的图片上加了点东西。

    大家可以看到在方法定义或声明里,只要类型是一个简单的对象,你就能以不带下划线的方式nullable或nonnull直接写在左括号后面,@property也一样。

    通过注解,我们可以很好的把OC和Swift混编结合起来,比如我有个usermodel

    然后我通过swift的一个viewcontroller调用usermodel的时候通过__nullable和__nonnull就可以很好的与swift的optional结合起来使用了。

    哦,对了还有一种更好的添加注解的方式,你可以通过把Objective-C头文件的某个区域标记为需要审查,在这个区域内,通过NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END来设置区域。

    相关文章

      网友评论

        本文标题:__nullable和__nonnull

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