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

关键字nullable、nonnull、null_resetta

作者: Jorunk | 来源:发表于2018-08-06 12:37 被阅读8次
    • 关键字:修饰属性,方法的参数,方法返回值,规范开发。
    好处:
    • 1.提高程序员规范,减少交流成本,程序员一看,就知道怎么赋值。
    • 注意:只能用于声明对象,不能声明基本数据类型,因为只有对象才能为nil。

    nullable

    • nullable:可以为nil
         方式一:
         @property (nonatomic, strong, nullable) NSString *name;
         方式二:
         @property (nonatomic, strong) NSString * _Nullable name;
         方式三:
         @property (nonatomic, strong) NSString * __nullable name;
    

    nonnull

    • nonnull:表示属性不能为空
    方式一:
        @property (nonatomic, strong, nonnull) NSString *name;
        方式二:
        @property (nonatomic, strong) NSString * _Nonnull name;
        方式三:
        @property (nonatomic, strong) NSString * __nonnull name;
    

    在NS_ASSUME_NONNULL_BEGIN与NS_ASSUME_NONNULL_END之间所有的对象属性,方法参数,方法返回值,默认都是nonnull。

    null_resettable

    • null_resettable:可以重新设置空,set方法可以为空,get不能为空。
    方式一:
         @property (nonatomic, strong, null_resettable) NSString *name;
    

    注意:用null_resettable属性,必须重写set,或者get方法,处理传值为nil的情况,可以模仿控制器view的get方法,当view为nil,就自己创建一个.

    _Null_unspecified

    • _Null_unspecified:不确定是否为空.
       方式一:
       @property (nonatomic, strong) NSString * _Null_unspecified name;
    

    相关文章

      网友评论

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

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