美文网首页
ios 关键字 每天学一点

ios 关键字 每天学一点

作者: 苏苏咯 | 来源:发表于2017-03-27 03:11 被阅读24次

    iOS9新特性 关键字

    随着iOS的发展,苹果也开始为了程序猿一看别人代码就懂怎么赋值 也开始规范写法了
    下面先介绍下关键字

    nonull nullable null_resettable null_unspecified

    这些关键字:修饰属性,方法的参数,方法反回值.
    **注意:只能用于声明对象,不能声明基本数据类型int double,因为只有对象才能为nil.
    nonull 与 nullable

    nonnull:表示属性不能为空,non:非,null:空,那就是非空的意思

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

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

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

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

    _Null_unspecified:不确定是否为空.

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

    相关文章

      网友评论

          本文标题:ios 关键字 每天学一点

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