关键字nullable,nonnull,null_resettable,_Null_unspecified详解
相信在开发过程中,很多小伙伴们儿都会见到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.关键字不能用于基本数据类型,只能用于对象。
转载于:https://www.cnblogs.com/yandada/p/6170091.html
关键字nullable,nonnull,null_resettable,_Null_unspecified详解相关推荐
- Linux grep多个关键字“与”和“或”使用详解
Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来. ...
- mysql 关键字 status_Mysql show status命令详解
Mysql show status命令详解 ## 介绍 SHOW STATUS提供服务器的状态信息. ## 命令用法 ```sql mysql> show status; mysql> s ...
- C语言中定义常量的关键字是什么,C++_详解C语言中const关键字的用法,关键字const用来定义常量,如 - phpStudy...
详解C语言中const关键字的用法 关键字const用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变,我想一定有人有这样的疑问,C语言中不是有#define吗,干嘛还要用const ...
- java volatile关键字的作用_java volatile关键字作用及使用场景详解
1. volatile关键字的作用:保证了变量的可见性(visibility).被volatile关键字修饰的变量,如果值发生了变更,其他线程立马可见,避免出现脏读的现象.如以下代码片段,isShut ...
- 2.Linux中grep多个关键字“与”和“或”使用详解
1.Linux grep命令用于查找文件里符合条件的字符串 grep 命令非常常用,经常用于匹配文本字符 grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样 ...
- Linux grep多个关键字“与”“或”“非”使用详解
来源:http://blog.sina.com.cn/s/blog_5ceb51480102wli8.html Linux grep命令用于查找文件里符合条件的字符串. grep指令用于查找内容包含指 ...
- java中strictfp关键字,java strictfp关键字用法大全详解
一.strictfp关键字简介 strictfp是Java中提供的一个保留关键字,该关键字是从这第java JDK2版本儿开始出现的一直沿用到现在,只不过很多情况下都不怎么使用,所以容易被大家遗忘,因 ...
- SWI指令---软件中断实例详解(原创)
SWI指令---软件中断实例详解 关键字: SWI,指令,软件中断,实例,详解 SWI,即software interrupt软件中断.该指令产生 ...
- Oracle表空间_PK是什么意思,Oracle表空间详解
关键字:Oracle表空间详解 一.============ 查询 =================== 1.查询oracle用户的默认表空间和临时表空间 select default_table ...
最新文章
- 皮一皮:这个职业是我想得那样吗?
- li浮动时ul自适应高度方法
- 数据库开发——MySQL——基本操作
- highcharts第一篇---简介和使用
- linux ip隧道技术,linux之IP隧道配置
- flex 左右布局_面试必考点:前端布局知识
- 我的MVVM框架 v0.1发布
- 通过Intel XDK编写跨平台app(二)
- js 子窗口关闭并且刷新父窗口
- webpack图片打包
- Web 前端视频资源分享(Bootstrap/Vue/小程序)
- 阿里云短信验证码注册
- 微信小程序marker官方示例中,模拟器和真机显示不同的原因
- push rejected by remote
- 人行征信中心提醒:不要随意授权征信查询!
- matlab编写求解二阶常微分方程,求一个复杂的二阶常微分方程的数值解,不会写代码= =...
- 使用aireplay-ng抓握手包笔记
- 5年专业研究,这份云原生安全指南请查收
- Git拉取指定的远程分支
- python机票_某哪儿机票JS解密(3)--python调用node产生正确的航线和pre
热门文章
- js总结1:数据类型
- 计算机网络—UDP协议
- Pikachu实验重现2(Sql的注入)
- bzoj 1619: [Usaco2008 Nov]Guarding the Farm 保卫牧场(DFS)
- bzoj 1688: [Usaco2005 Open]Disease Manangement 疾病管理(状压)
- 基于水平集方法和G0模型的SAR图像分割
- jquery系列教程3-DOM操作全解
- 环,模,补码,负数的表示与减法实现
- html图片上下高度不一样,【已解决】HTML图片横向布局中第一张图片和其他图片高度不一致...
- 包含对象的json格式_如何把JSON数据格式转换为Python的类对象?