__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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 深入理解JavaScript的事件循环(Event Loop) 一、什么是事件循环

    深入理解JavaScript的事件循环(Event Loop) 一、什么是事件循环深入理解 JavaScript 的事件循环 EventLoop 一 什么是事件循环 JS 的代码执行是基于一种事件循环的机制 之所以称作事件循环 MDN 给出的解释为因为它经常被用于类似如下的方式来实现 while queue waitForMessa queue processNextM 如果当前没有任何消息 queue waitForMes

    2025年10月26日
    3
  • python十个实战项目[通俗易懂]

    python项目练习一:即时标记python项目练习二:画幅好画python项目练习三:万能的XMLpython项目练习四:新闻聚合python项目练习五:虚拟茶话会python项目练习六:使用CGI进行远程编辑python项目练习七:自定义公告板python项目练习八:使用XML-RPC进行远程文件共享python项目练习九:文件共享2-GUI版本python

    2022年4月8日
    42
  • output device(storage devices)

    dockertheinputdeviceisnotaTTY.Ifyouareusingmintty,tryprefixingthecommandwith’winp解决方法执行命令报错dockerexec-it8ea8a375e686/bin/bashtheinputdeviceisnotaTTY.Ifyouareusingmintty,tryprefixingthecommandwith’winpty’解决方案

    2022年4月13日
    43
  • opencv行人检测python_19年赚钱新思路

    opencv行人检测python_19年赚钱新思路CVPR2019行人检测新思路:高级语义特征检测取得精度新突破原创: CV君 我爱计算机视觉 今天点击我爱计算机视觉置顶或标星,更快获取CVML新技术今天跟大家

    2022年8月5日
    11
  • 树莓派3B安装ffmpeg[通俗易懂]

    树莓派3B安装ffmpeg[通俗易懂]树莓派3B安装ffmpeg树莓派型号:3b操作系统:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi.img如果只使用基础功能可以参考https://blog.csdn.net/qq_28877125/article/details/70186287用这里边的配置文件,编译起来的确比较快,十分钟内编译完成,但是,这个只包含了基础功能,我使…

    2022年6月25日
    28
  • 进程同步和线程同步

    进程同步和线程同步怎样同步多个线程或多个进程的活动。为允许在线程或进程间共享数据,同步是必需的。互斥锁和条件变量是同步的基本组成部分。互斥锁和条件变量出自POSIX.1线程标准,它们总是可用来同步一个进程内的各个线程的。如果一个互斥锁或条件变量存放在多个进程间共享的某个内存中,那么POSIX还允许它用于这些进程间的同步。互斥锁、条件变量、读写锁、信号量均可用于进程、线程的同步。多线程同步方法1)互斥锁互斥锁是最基

    2022年7月15日
    15

发表回复

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

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