美文网首页
关键字nullable,nonnull,null_resetta

关键字nullable,nonnull,null_resetta

作者: 岩大大 | 来源:发表于2016-12-13 15:14 被阅读0次

    相信在开发过程中,很多小伙伴们儿都会见到nullable,nonnull,null_resettable,_Null_unspecified
    这几个关键字,但是并不知道它们是什么意思,下面我就给大家一一解释一下。

    在解释这四个关键字之前,先给大家普及一下关键字是干嘛的。

    关键字:可以用于属性,方法返回值和参数中。

    关键字作用:提示作用,告诉开发者属性信息。

    关键字好处:提高代码规划,减少沟通成本。

    nullable作用:可能为空。

    语法如下:

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

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

    nonnull作用:不能为空。

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

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

    null_resettable这个相应复杂一点,意思是:必须要处理为空情况,重写get方法,也就是get方法不能返回nil,set可以传入为空。

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

    - (NSString *)name

    {

    if (_name == nil) {

    _name = @"";

    }

    return _name;

    }

    _Null_unspecified作用:不确定是否为空,这个基本上用不到。

    下面补充个注意点:

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

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

    相关文章

      网友评论

          本文标题:关键字nullable,nonnull,null_resetta

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