作用
當給定的條件為false時,直接生成一個斷言。
聲明
#define NSAssert(condition, desc, ...)
參數 | 描述 |
---|---|
condition | 表達式,值為YES或者NO |
desc | NSString對象,一般會寫一段描述錯誤信息的字符串,可以包含參數的占位符 |
... | 用于填充desc字符串中的占位符的參數 |
用法
當程序處于Debug狀態下,如果condition值為NO,那么程序會拋出一個異常,控制臺會打印出desc。當程序處于Release狀態下,斷言不會執行。
所以我們一般可以利用斷言來調試程序,舉個例子:
NSAssert(self.dataSource != nil, @"必須設置dataSource");
我們在程序中添加了一條斷言,如上,這句話的意思是必須要設置數據源,一旦self.dataSource沒有設置,那么程序Debug時就會拋出異常,并且打印“必須設置dataSource”這句話,這樣我們就能避免忘記設置數據源。