断言NSAssert的使用

NSAssert()的定义是

#define NSAssert(condition, desc)

condition是条件表达式,值为yes或者no,在OC中规定0为假,非0就为真。

desc为异常描述,为NSString类型。

当condition为yes时程序继续运行;

当condition为no时程序终止并抛出带有desc描述的异常信息。

 

使用场景: 

使用断言主要是要开发和调试阶段,不是用户交互效果。更多的是开发人员之间的沟通手段,比如你设计了一个类,其中的一个实例变量对于输入的值是有有效限制的。为了防止其他开发人员不合理使用这个类,在类的实现文件中放置多个断言,可以起到一个防错功能。

 

使用举例:

 NSInteger age = -1;NSAssert((age > 0 || age == 0), @"年龄不能小于0");

 

转载于:https://www.cnblogs.com/cchHers/p/9013990.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

五维图matlab,五维立体图,怎么画五维图(即以五边形反映各项水平)

一维、二维、三维、四维、五维分别是什么?线是一维的,参数是点 面是二维的,参数是线 体是三维的,参数是面 以此类推,以体为参数构成的空间就是四维空间,通常理解为时间,从很多科幻小说中可以看到…

java 做项目踩坑,web项目踩坑过程

sql函数设计:一开始本来是直接用Java的jdbc直接传输操作语句的。但后来学了存储过程发现存储过程可以提高不少的效率。就重构了自己对数据库的操作代码。包括:开启,查找,修改,关闭。开启:直接使用的构造函数…

python中主函数循环,带有菜单函数的Python主函数循环不起作用?

我现在是一名大学生,正在上python课程。我们的任务是用函数创建这个程序。main函数调用菜单,然后在main函数中编写一个循环,根据菜单函数中的用户响应访问其他函数。在我好像不能让我的循环工作。当我选择一个菜单选项时,什么都不…

在nocdb转pdb的时候遇到小bug

在nocdb转为pdb之后,发现有一个应用账号。从pdb使用expdp导出。导入其他nocdb。报错ORA-01917: user or role HUE does not exist[oraclelxtrac06 ~]$ more 1HUE.log ;;; Import: Release 12.2.0.1.0 - Production on Wed May 9 23:20:59 2018Copyright (c) 1982, 2…

matlab设计理想数字带通滤波器,基于matlab的数字带通滤波器课程设计报告

基于matlab的数字带通滤波器课程设计报告 1 西安文理学院机械电子工程系 课程设计报告 专业班级 08级电子信息工程1班 题 目 基于 MATLAB 的数字带通滤波器 学 号 学生姓名 指导教师 2011 年 12 月 西安文理学院机械电子工程系2 课程设计任务书 学生姓名 _______专业班级 _____…

php上传文件损坏,PHP 上传文件故障排除

PHP 文件上传时出现问题时,就要在表单、后台处理程序和服务器配置上找原因。最常见的故障原因有:PHP 配置不正确、服务器上的相关目录没有写权限、表单编写有问题等。如果在使用 PHP 上传时遇到问题,请参阅以下故障排除步骤:检查表…

xml序列号错误

xml序列号错误((XmlHelper.Deserialize))提示&#xff1a;XML 文档(1, 2)中有错误。{"不应有 <entryOrder xmlns>。"} 原因&#xff1a;1.缺少根目录&#xff08;<root>&#xff09;2.xml字段转换失败&#xff08;string->int&#xff09; ----------…

oracle 强制 断开,ORA-01092: ORACLE 例程终止。强行断开连接

dataguard服务器不能open&#xff0c;需要重启主服务器才能解决。如下&#xff1a;SQL> conn as sysdba;已连接到空闲例程。SQL> startup nomount;ORACLE 例程已经启动。Total System Global Area 1240186076 bytesFixed Size 453852 bytesVariable Si…

Mac远程连接服务器

方法一&#xff1a;ssh 方法二&#xff1a;commandK进入远程桌面&#xff0c;这种方式类似于windwos下的远程桌面 转载于:https://www.cnblogs.com/xiyuan2016/p/9020978.html

oracle v sql不存在,程序包oracle.sql不存在

今天项目在maven install 的时候报“程序包oracle.sql不存在&#xff0c;类TIMESTAMP找不到”的问题&#xff1a;plugins:maven-compiler-plugin:3.1:compile (default-compile) on project gdairport: Compilation failure: Compilation failure:...TimestameUtil.java:[7,18]…

关于windows10 CMD 的一些操作

之前接触过cmd的一些操作方法&#xff0c;比如用dir、tasklist等一些方法&#xff0c;但是用了会立马忘记&#xff0c;再用到时又要重新google&#xff0c;这着实让我头痛&#xff01;&#xff01;&#xff01; 今天又碰到一个关于改变目录的问题&#xff0c;又是纠结万分&…

oracle dblink 验证,Oracle DBLINK 简单使用

oracle在进行跨库访问时&#xff0c;可以通过创建dblink实现&#xff0c;今天就简单的介绍下如果创建dblink&#xff0c;以及通过dblink完成插入、修改、删除等操作首先了解下环境&#xff1a;在tnsnames.ora中配置两个数据库别名&#xff1a;orcl(用户名&#xff1a;wangyong …

六、表达式:前缀后缀

count为运算后的值。 转载于:https://www.cnblogs.com/Strugglinggirl/p/9026856.html

如何查询oracle的共享内存,[20190104]ipcs查看共享内存段.txt

[20190104]ipcs查看共享内存段.txt--//数据库启动异常,有时候会留下一些共享内存段没有清理,需要使用ipcrm清理.--//由于服务器上跑2个实例,必须选择正确的共享内存段,否则会导致别的数据库crash.--//在我工作中,这是遇到的第2次,做一些复习与整理:--//在linux下有一个命令sysr…

java获取xml参数

properties.load(DBUtility.class.getClassLoadrt()).getResourceAsStream(path);转载于:https://www.cnblogs.com/gjack/p/9033196.html

php开发是可视的吗,javascript,html_Jquery判断页面元素是否在浏览器的可视区域内,javascript,html,css,html5 - phpStudy...

Jquery判断页面元素是否在浏览器的可视区域内前端开发中,有时需要判断某个元素是否在浏览器的可视区域内,或者是否已经滚动出了可视区域.首先想到的便是javascript操作,原生方法自然可以,不过Jquery已经封装了一些属性,使用起来更方便些,我们这里就讨论这种Jquery的方式.假设此…

ubuntu中安装hadoop集群

hadoop是由java 语言编写的主从结构分布式计算存储架构 准备工作&#xff1a; 操作系统&#xff1a; Ubuntu16.04 软件安装包&#xff1a;jdk-8u171-linux-x64.tar.gz &#xff1b; hadoop-2.6.5.tar.gz 配置环境&#xff1a;3台虚拟机 master:192.168.122.10node1 …

php后端mysql,【后端开发】PHP如何处理MySQL死连接

本文主要介绍了PHP实现清除MySQL死连接的方法&#xff0c;通过定时执行php脚本实现针对mysql死链接的检查与清除功能&#xff0c;需要的朋友可以参考下。希望对大家有所帮助。连接的情况&#xff0c;主要表现为有过多的Sleep连接&#xff0c;并且Time时间很长&#xff0c;占满了…

5.14 js对象 函数 js操作document对象

---对象 var myObject {} /* 声明对象字面变量*/myObject点语法取值 赋值代码格式 var person { name : "zhangsan", age : 25, say :function(){ alert("说汉语"); } } 函数&#xff1a;有一定功能代码体的集合&#xff1b; 函数是由事件…

linux虚拟服务器新增磁盘怎么挂载,如何在vmware虚拟机Linux中增加硬盘的方法(教程)...

前期准备&#xff1a;创建虚拟硬盘1、关闭VM中正在运行的虚拟系统&#xff1b;2、在虚拟系统名称上点右键&#xff0d;》Virtual Machine Settings&#xff1b;3、在Hardware页点“Add”&#xff0d;》Add a hard disk&#xff0d;》Create a new virtual disk&#xff0d;》SC…