美文网首页
iOS9.0之后几个常见关键字含义以及使用

iOS9.0之后几个常见关键字含义以及使用

作者: 君莫笑_d5c5 | 来源:发表于2018-12-29 00:38 被阅读0次

    首先来介绍一下几个关键字: nullable   , nonnull  , null_resettable   _Null_unspecified

    这几个关键字通常用来修饰属性或者方法的参数,或者方法的返回值

    nullable  的含义表示所修饰的对象可以为空

    nonnull 表示非空

    null_resttable  表示set 方法可以为空,get方法不能为空

    注意:在用这个关键字的时候需要重写set,或者get方法,不然会出现警告

    _Null_unspecified   表示不确定所修饰的对象能否为空(用处不大)

    对于属性的书写规范

    书写规范一:@property (nonatomic,strong,nullable) NSString  * name;

    书写规范二:@property (nonatomic,strong) NSString  *_Nullable name;

    书写规范三:@property (nonatomic,strong) NSString  *__nullable age;

    方法书写规范

     方法一: -(nonnull NSString *)test;

     方法二:-(NSString *_Nonnull)test1;

      方法三:-(NSString *__nonnull)test2;


    注意区别:nonnull 在类前面修饰的   _Nonnull 在  *后面  __nonnull 也在 *后面  只不过小写而已。

    当然我们也可以不用写直接利用苹果官方文档定义的宏就可以

    NS_ASSUME_NONNULL_BEGIN

     NS_ASSUME_NONNULL_END 成对出现

     表示这两个宏中间的东西都不为空

    注意:这些关键字或者宏只能够用来修饰对象不能用来修饰基本数据类型

    关键字的好处: 用来迎合swift

    提高我们开发人员规范,减少程序员之间的交流

    相关文章

      网友评论

          本文标题:iOS9.0之后几个常见关键字含义以及使用

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