关于NSAssert

基本概念:

NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。

关于NSAssert_第1张图片
宏定义.png

通俗理解:

也就是为了判断某个条件是否满足,满足则继续,不满足就报错.在控制台中打印错误信息.


关于NSAssert_第2张图片
NSAssert.png
关于NSAssert_第3张图片
验证.png

对比理解:

  • 和在swift中的guard的作用类似,只不过swift中guard不会直接使程序崩溃,而是你可以选择做一些其他的操作.也就是在swift中有更多的选择.
关于NSAssert1, NSAssert2, NSAssert3....后面的arg1,arg2...参数的理解
关于NSAssert_第4张图片
关于NSAssert1.png
关于NSAssert_第5张图片
示例.png

简单粗暴的理解是:

当你的错误信息不是固定的,而是由服务器下发的错误信息决定,那么可以使用带参数的NSAssert1,或者NSAssert2等等

思考

iOS的抛出异常方式有哪些?在什么场景下使用?

发现

在NSAssert的定义下面还有一个NSCAssert.可以参考扩展阅读的资料



扩展阅读:
断言(NSAssert)的使用
NSAssert,NSCassert
iOS NSAssert知多少?
iOS What is NSAssert1??
iOS已发布应用中对异常信息捕获和处理

你可能感兴趣的:(关于NSAssert)