美文网首页
关键字(nonnull、nullable、null_resett

关键字(nonnull、nullable、null_resett

作者: 牛奶红茶 | 来源:发表于2021-02-23 19:46 被阅读0次

    1.nonnull,不能为空,用来修饰属性,方法参数,方法返回值

    ->修饰属性

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

    @property (nonatomic, strong) NSString * __nonnull name1;

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

    也可以在自定义方法的时候使用

    -(nonnull NSString *)test:(nonnull NSString *)name;
    -(NSString * _Nonnull)test1:(NSString *_Nonnull)name;

    在使用上面方法和属性的时候就会有相应的提示

    调用方法 使用属性

    2.nullable,表示可以为空(使用方法和上面一样)

    调用方法 使用属性

    3.null_resettable,get不能返回空,set可以为空(注意:使用null_resettable必须重写get方法和set方法,处理传递的值为空的情况)

    4._Null_unspecified,不确定是否为空

    //这个方法基本上用不到,了解就可以了

    @property (nonatomic, strong) NSString *__null_unspecified name;
    @property (nonatomic, strong) NSString *_Null_unspecified name;

    --------补充-----
    1.关键字仅仅是提供警告,并不会报编译错误。当属性关键字为nonnull的时候,即使属性置为nil,也只是报警告而已,不会报错

    2.关键字不能用于基本数据类型,只能用于对象。

    相关文章

      网友评论

          本文标题:关键字(nonnull、nullable、null_resett

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