__nullable 消除

__nullable 消除警告 Pointerismis 我觉得我是一个强迫症 写完代码都会去去掉所有的警告 有的我也去不掉好闹心 今天介绍一个警告的去掉方法 例子 刚刚遇见这个警告的时候脑子有点蒙 这是为什么呢 我觉得写法没什么问题的说 后来经过多番查找 发现这是 Xcode6 3 的一个新特性 即 nullabilitya


警告;Pointer is missing a nullability type specifier…..

我觉得我是一个强迫症,写完代码都会去去掉所有的警告,,,(有的我也去不掉好闹心)今天介绍一个警告的去掉方法。

例子:

__nullable 消除

刚刚遇见这个警告的时候脑子有点蒙,这是为什么呢,,我觉得写法没什么问题的说,

后来经过多番查找,发现这是Xcode 6.3的一个新特性,即nullability annotations

为了解决这个问题,苹果在Xcode 6.3引入了一个Objective-C的新特性:nullability annotations。这一新特性的核心是两个新的类型注释:__nullable__nonnull。从字面上我们可以猜到,__nullable表示对象可以是NULL或nil,而__nonnull表示对象不应该为空。当我们不遵循这一规则时,编译器就会给出警告。

解决方法:可以使用const关键字的地方都可以使用__nullable和__nonnull,不过这两个关键字仅限于使用在指针类型上。而在方法的声明中,我们还可以使用不带下划线的nullable和nonnull,

__nullable 消除

继续扩展:当我们有很多属性或者方法都要加nonnull属性时这就变成了一个麻烦的事,没关系苹果还是很人性化的他给了我们两个宏定义来解决这样的情况。开始:NS_ASSUME_NONNULL_BEGIN  结束:NS_ASSUME_NONNULL_END  这两个要配合使用,在其区间的属性都会获得nonnull属性,下面是截图:

__nullable 消除


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234040.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号