当前位置: 首页 > 编程日记 > 正文

Xcode消除编译器警告

Whenever,Xcode警告对于我们来说都相当重要,提醒我们可能存在的错误。但是有时候,我们知道一切都好,everything is in the palm of my hand,我们想要消除那些警告。

自己项目的警告

比如我们定义一个designated initializer,参数都是nonnull

- (instancetype)initWithGivenName:(NSString *)givenName familyName:(NSString *)familyName NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithGivenName:(NSString *)givenName familyName:(NSString *)familyName
{NSAssert(givenName && familyName, @"givenName and familyName must not be nil");if (self = [super init]) {self.givenName = givenName;self.familyName = familyName;}return self;
}

当实现父类的designated initializer时,调用上面这个方法并且传入参数为nil。显然,编译器对此产生警告

- (instancetype)init
{return [self initWithGivenName:nil familyName:nil];
}

FE0ABDC9-1B8A-46E1-B830-4DB49726380F.png
  • 找到警告类型

右击警告,选择在日志中显示


63568C18-C326-414F-96A5-DA1A80792933.png

-W+警告类型 : 意味着打开某种类型的警告,-Wnonnull打开nonnull类型的警告
-Wno-+警告类型 : 意味着关闭某种类型的警告,-Wno-nonnull关闭nonnull类型的警告


69960C85-AA3C-4DA7-B1CA-BAD90A4A7963.png
  • 忽略某些行警告,被宏包裹的行忽略指定警告
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnonnull"
- (instancetype)init
{return [self initWithGivenName:nil familyName:nil];
}
#pragma clang diagnostic pop

值得注意的是 : 这里是-Wnonnull

  • 禁用某个文件警告

08DCEE87-30B4-4842-BF29-E15FAF28B564.png
  • 禁用某个target警告

4B118D04-8E44-4DB7-89BB-28B122A5815F.png

第三方库的警告

当我们使用CocoaPods管理库依赖时,可以通过Podfile语法禁止第三方库的警告

CocoaPods管理AFNetworking和SDWebImage

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'target 'CocoaPodsDemoWithOC' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for CocoaPodsDemoWithOCpod 'AFNetworking', '2.5.0'pod 'SDWebImage', '3.7.5'
end
  • 禁止所有来自CocoaPods的警告
    inhibit_all_warnings!
# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
inhibit_all_warnings!target 'CocoaPodsDemoWithOC' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for CocoaPodsDemoWithOCpod 'AFNetworking', '2.5.0'pod 'SDWebImage', '3.7.5'
end
  • 禁止指定Pod的警告

这里禁止AFNetworking的警告

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'target 'CocoaPodsDemoWithOC' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for CocoaPodsDemoWithOCpod 'AFNetworking', '2.5.0', :inhibit_warnings => truepod 'SDWebImage', '3.7.5'
end
  • 禁止除了指定Pod之外的警告

这里禁止SDWebImage的警告

# Uncomment the next line to define a global platform for your project
platform :ios, '9.0'
inhibit_all_warnings!target 'CocoaPodsDemoWithOC' do# Uncomment the next line if you're using Swift or would like to use dynamic frameworks# use_frameworks!# Pods for CocoaPodsDemoWithOCpod 'AFNetworking', '2.5.0', :inhibit_warnings => falsepod 'SDWebImage', '3.7.5'
end

相关文章:

手动部署OpenStack环境(六:出现的问题与解决方案总结)

排错一:keystone服务安装中demo用户表单没信息。 排错思路: 组件安装是否有问题;用户创建畲缶有问题;用户认证信息是否合适;原因:用户的认证信息配置错误。 解决方案: a)删除有关demo用户的所有…

一劳永逸,iOS 自定义 ActionSheet 封装流程

原文链接:http://www.jianshu.com/p/cfb87a7db7b1本文为 iOS 自定义视图封装《一劳永逸》系列的第四期,旨在提供封装思路,结果固然重要,但理解过程才最好。授人以鱼不如授人以渔。 —— 由卖报的小画家Sure分享前言 本文为iOS自定…

cocoapods更新

使用sudo gem install cocoapods更新提示: ERROR: While executing gem ... (Errno::EPERM) Operation not permitted 改为:sudo gem install -n /usr/local/bin cocoapods --pre刷刷刷完成更新。但是马上发下更新后使用pod install又发现一个问题 The …

创建对象_工厂方法(Factory Method)模式 与 静态工厂方法

工厂方法模式: 定义:为创建对象定义一个接口,让子类决定实例化哪个类。工厂方法让一个类的实例化延迟至子类。应用场景:客户类不关心使用哪个具体类,只关心该接口所提供的功能;创建过程比较复杂&#xff0c…

数据通信技术(一:IP划分)

一、某公司生产部有50人,销售部有100人,财务部有25人,客服部有12人,没个员工配置一台主机,该公司有192.168.100.1/24的网段可用,应该如何划分子网。 销售部(100)台:/25 …

团队作业—第二阶段06

站立会议: 继续数据库的连接编程。 任务进度: 实现数据的输出。 站立会议照片: 任务看板: 燃尽图: 转载于:https://www.cnblogs.com/cpljlgs/p/5546157.html

Fade 数字切换动效

原文链接:http://www.jianshu.com/p/983674e6f4ef根据原型高度还原的一个动效作品。希望可以通过审核。谢谢。 —— 由Bear1494735376123分享欢迎同样喜爱动效的你加入 iOS动效特攻队–>QQ群:547897182 iOS动效特攻队–>熊熊:64807025…

fieldset 使用小案例

有初学者问到如何做出如下页面: 对应的代码如下: <fieldset><legend>★审核状态</legend><input name"state" type"radio" class"input1" value"1" />已审核<input name"state" type"radio…

数据通信技术(二:交换机配置管理)

交换机配置与管理&#xff08;思科模拟器&#xff09; 1.从用户模式进入特权模式,并进入配置模式设置进入特权模式的密码; 2.进入交换机的端口模式并进行端口状态的设置; 用新密码登录并查看接口状态信息,重启交换机;4.硬件和软件版本查询: 5.设备CPU的利用率: 6.检查设备的MA…

iOS之各种区别

作者 APP叫我取个帅气的昵称 关注 2017.05.15 10:47* 字数 140 阅读 1273评论 7喜欢 51写在前面&#xff1a;本文持续更新&#xff0c;也欢迎简友提供更多的关于iOS&#xff08;包括swift&#xff09;中的区别 1. _ _block和 _ _weak修饰符的区别的&#xff1a; (1). _ _block不…

lightoj 1014

lightoj 1014 Ifter Party 链接&#xff1a;http://www.lightoj.com/volume_showproblem.php?problem1014 题意&#xff1a;给你两个数 p, l&#xff0c;求 cha&#xff08;cha p-l&#xff09;的约数&#xff0c;当约数大于 l 时&#xff0c;按从小到大输出 思路&#xff1a…

poj 2681 字符串

http://poj.org/problem?id2681 给你任意长度的字符串&#xff0c;找出两串字符中不相同的字符个数&#xff08;总数&#xff09; #include<string> #include<cstring> #include<iostream> #include<cstdio> using namespace std; int main() {int n;…

数据通信技术(三:VLAN划分)

VLAN划分 1.配置环境 &#xff1a;创建4台PC机&#xff0c;并为PC机配置IP PC0&#xff1a;192.168.1.1/24 PC1&#xff1a;192.168.1.2/24 PC2&#xff1a;192.168.1.3/24 PC3&#xff1a;192.168.1.4/24 2.修改交换机名称&#xff1a; 创建VLAN1和VLAN2&#xff1a;…

CSS(2 )-- CSS样式大全

常用css样式大全Author&#xff1a;xu_shuyi201504039.CSS颜色代码大全http://www.cnblogs.com/axing/archive/2011/04/09/CSS.html1.CSS文字属性color : #999999; /*文字颜色*/font-family : 宋体,sans-serif; /*文字字体*/font-size : 9pt; /*文字大小*/font-style:itelic; /…

java io读书笔记(6) Writing Arrays of Bytes

显而易见&#xff0c;一次性写出一堆数据&#xff0c;要比一个byte一个byte的写&#xff0c;快多了&#xff0c;因此&#xff0c;outputstream&#xff0c;给出了2个增强型的write&#xff1a; public void write(byte[] data) throws IOException public void write(byte[] da…

iOS 自定义双向滑块Slider

ZPSlider 一个双向滑块的Slider 前提 这个是在一次和朋友吃饭的时候&#xff0c;我们唠嗑的时候他说的一个需求。因为系统的Slider是只有一个滑块的&#xff0c;而且没有分段滑动的效果。 这不最近都在研究这么个需求。 How to use it -(instancetype)initWithFrame:(CGRec…

数据通信技术(四:链路聚合)

1、修改交换机名称 2、配置A交换机数据 3、配置B交换机数据 4、创建VLAN 5、互拼验证 6、去掉一条链路再进行验证 数据通信技术&#xff08;一&#xff1a;IP划分&#xff09; https://blog.csdn.net/qq_37823605/article/details/90345408 数据通信技术&#xff08;二&#xf…

iOS图片,视频上传视频内容旋转

#前言 我最近在接手一个智能盒子的iOS应用&#xff0c;上面有一个功能是这样的。把你本地的照片和视频可以甩屏到你绑定的盒子上。 我的上一位前辈做的时候必须要求再同一个局域网&#xff0c;但是当我做的时候要求不同的局域网也要实现这样的一个功能&#xff0c;优化用户的使…

jackson 解析json问题

1、json串中有key为A&#xff0c;但指定转换的mybean中未定义属性A&#xff0c;会抛异常。处理&#xff1a;mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)&#xff0c;加上这一条&#xff0c;就没问题了&#xff0c;正常转换。 2、 默认的json串&#xff0c;如…

【转】UIColor对颜色的自定义

原文网址&#xff1a;http://blog.sina.com.cn/s/blog_5f19ccb10101bhqh.html 在iOS开发中&#xff0c;我们使用UIColor来对我们的界面进行颜色设置&#xff0c;一般我们通过以下两种方法使用UIColor&#xff1a;1,label.textColor [UIColor blueColor];2,label.textColor [U…

数据通信技术(八:OSPF单区域配置实验)

OSPF单区域配置实验(Cisco) 一&#xff0e;知识准备 1.掌握了OSPF动态路由协议的定义和功能&#xff1b; 2.掌握了OSPF动态路由协议的特征和工作原理。 二&#xff0e;实验目的 掌握OSPF动态路由单区域的基本配置方法和结果验证。 掌握OSPF单区域配置的作用 三&#xff…

redis在php中的使用介绍

redis介绍 redis是一个key-value存储系统。和Memcached类似&#xff0c;它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs&#xff08;哈希类型&#xff09;。这些数据类型都 支持push/pop、add/remo…

控制发光二极管

一 LED驱动的实现原理 尽管Linux驱动直接与硬件打交道&#xff0c;但并不是Linux驱动直接向硬件中的内存写数据&#xff0c;而是与本机的I/O内存进行交互。每一个连接Linux的硬件在I/O内存中都会有映射首地址&#xff0c;开发板上的LED也有其映射首地址。 二 编写LED驱动 第一…

iOS 跑马灯之 TXScrollLabelView

前言 前段时间在开发一个广播的功能&#xff0c;网上也自己找了一些库&#xff0c;没有发现非常好用的&#xff0c;于是自己抽时间写了一个&#xff0c;在 Github 上发布一天收获六十多个 star&#xff0c;这里首先感谢大家在微博上的转发&#xff0c;使得 TXScrollLabelView 被…

数据通信技术(六:静态路由实验)

数据通信静态路由实验 1、R1路由的端口配置 2、R2路由的端口配置 3、R3路由器端口配置 4、互通性验证 5、拓扑结构 数据通信技术&#xff08;一&#xff1a;IP划分&#xff09; https://blog.csdn.net/qq_37823605/article/details/90345408 数据通信技术&#xff08;二&#…

172. Factorial Trailing Zeroes

/**172. Factorial Trailing Zeroes *2016-6-4 by Mingyang* 首先别忘了什么是factorial&#xff0c;就是阶乘。那么很容易想到需要统计* (2,5)对的个数&#xff0c;因为2510。但是这个条件放松一下就会发现其实只要数5的个数就好了&#xff0c;* 因为2实在是比5要多的多。那么…

MarkdownView:Markdown 文档预览视图组件

原文链接&#xff1a;https://github.com/keitaoouchi/MarkdownViewMarkdownView&#xff1a;Markdown 文档预览视图组件。# 为开源点赞# —— 由SwiftLanguage分享MarkdownView is a WKWebView based UI element, and internally use bootstrap, highlight.js, markdown-it. H…

项目管理过程中,如何编制初步工作说明书

最近在做一个项目的时候&#xff0c;客户特别苛刻&#xff0c;在制定工作说明书的时候&#xff0c;费了很多周折&#xff0c;把很多以前做项目的时候都不怎么会专门考虑的细枝末节和例外情况都进行了详细说明和约定&#xff0c;但是在项目实施过程中&#xff0c;却发现这样的说…

数据通信技术(七:RIP路由水平分割配置)

RIP路由水平分割配置实验报告 一、知识准备 掌握RIP动态路由的定义和特征。掌握RIP路由环路的危害和解决技术。掌握水平分割的工作原理。二、实验目的 掌握路由器中RIP动态路由水平分割功能的配置方法和结果验证&#xff0c;并通过实验结果更好的理解水平分割的作用和原理。…

android蓝牙4.0(BLE)开发之ibeacon初步

一个april beacon里携带的信息如下 ?1<code class" hljs ">0201061AFF4C0002159069BDB88C11416BAC3F33468C2788A3044B0378C60C09417072696C426561636F6E051250002003020A0000000000000000000000</code>具体是什么意思呢 ?1234567891011121314151617181…