基本概念:
NSAssert()是一个宏,用于开发阶段调试程序中的Bug,通过为NSAssert()传递条件表达式来断定是否属于Bug,满足条件返回真值,程序继续运行,如果返回假值,则抛出异常,并且可以自定义异常描述。
通俗理解:
也就是为了判断某个条件是否满足,满足则继续,不满足就报错.在控制台中打印错误信息.
对比理解:
- 和在swift中的guard的作用类似,只不过swift中guard不会直接使程序崩溃,而是你可以选择做一些其他的操作.也就是在swift中有更多的选择.
关于NSAssert1, NSAssert2, NSAssert3....后面的arg1,arg2...参数的理解
简单粗暴的理解是:
当你的错误信息不是固定的,而是由服务器下发的错误信息决定,那么可以使用带参数的NSAssert1,或者NSAssert2等等
思考
iOS的抛出异常方式有哪些?在什么场景下使用?
发现
在NSAssert的定义下面还有一个NSCAssert.可以参考扩展阅读的资料
</br>
扩展阅读:
断言(NSAssert)的使用
NSAssert,NSCassert
iOS NSAssert知多少?
iOS What is NSAssert1??
iOS已发布应用中对异常信息捕获和处理