iOS 泛型中nullable、null resettable、null kindof 用法详解

2025-05-29 0 102

iOS9新出的关键字:用来修饰属性,或者方法的参数,方法的返回值

iOS9新出关键字nonnull,nullable,null_resettable,_Null_unspecified

需要注意的一点只能修饰对象,不能修饰基本数据类型.

虽然在项目的代码编写中不会经常用到,不过在调用苹果系统方法的时候还是会经常遇到,需要做一个总结

nullable作用:表示可以为空

?

1

2

3

4

5

6

7
nullable书写规范:

// 方式一:

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

// 方式二:

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

// 方式三:

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

nonnull作用:不能为空

?

1

2

3

4

5
nonnull: non:非 null:空

书写格式:

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

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

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

在NS_ASSUME_NONNULL_BEGIN和NS_ASSUME_NONNULL_END之间,定义的所有对象属性和方法默认都是nonnull

null_resettable作用: get:不能返回为空, set可以为空

?

1

2

3
// 书写方式:

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

// 注意;如果使用null_resettable,必须 重写get方法或者set方法,处理传递的值为空的情况

_Null_unspecified:不确定是否为空

?

1

2

3

4

5
书写方式只有这种

方式一

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

方式二

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

__kindof:表示当前类或者它子类

__kindof书写格式:

放在类型前面,表示修饰这个类型(__kindof MyCustomClass *)

__kindof :在调用的时候,很清楚的知道返回类型 使用__kindof 修饰的类名既可以表示当前类,也可以表示当前类的子类

以上所述是小编给大家介绍的iOS 泛型nullable、null resettable、null kindof 用法详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对快网idc网站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 iOS 泛型中nullable、null resettable、null kindof 用法详解 https://www.kuaiidc.com/91556.html

相关文章

发表评论
暂无评论