美文网首页
iOS-关键字-nullable、nonnull、null_re

iOS-关键字-nullable、nonnull、null_re

作者: Imkata | 来源:发表于2020-08-12 20:56 被阅读0次
    1. 关键字注意点

    ① 在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END这两个之间的代码默认是nonnull
    ② 关键字不能用于基本数据类型(int、float)
    ③ nil只用于对象

    1. 怎么去研究新特性?

    使用新的xcode创建项目,用旧的xcode去打开:
    2017 Xcode9 iOS11
    2016 Xcode8 iOS10
    2015 Xcode7 iOS9
    2014 Xcode6 iOS8
    2013 Xcode5 iOS7
    2012 Xcode4 iOS6

    关于nullable、nonnull、null_resettable、_Null_unspecified

    1. 可以用于属性、方法返回值、方法参数中
    2. 作用:提示作用,告诉开发者能不能空
    3. 目的:迎合swift,swift是个强语言,swift必须要指定一个对象是否为空
    4. 好处:提高代码规划,减少沟通成本
    5. 这些关键字仅仅是提供警告,并不会报编译错误

    ① nullable

    nullable使用范围:可以用于属性、方法返回值、方法参数中
    nullable作用:可能为空

    nullable 语法1:

    @property (nonatomic, strong, nullable) NSString *name;
    

    nullable 语法2:

    @property (nonatomic, strong) NSString * _Nullable name;
    

    ② nonnull

    nonnull使用范围:可以用于属性、方法返回值、方法参数中
    nonnull作用:不能为空

    nonnull 语法1:

    @property (nonatomic, strong, nonnull) NSString *name;
    

    nonnull 语法2:

    @property (nonatomic, strong) NSString * _Nonnull name;
    

    ③ null_resettable

    null_resettable使用范围:可以用于属性、方法返回值、方法参数中
    null_resettable作用:set可以传入为空,get方法不能返回nil,必须要处理为空情况,重写get方法

    null_resettable 语法:

    @property (nonatomic, strong, null_resettable) NSString *name;
    

    ④ _Null_unspecified:不确定是否为空

    相关文章

      网友评论

          本文标题:iOS-关键字-nullable、nonnull、null_re

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