NSAssert淺析

作用

當給定的條件為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”這句話,這樣我們就能避免忘記設置數據源。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • Spring Boot 參考指南 介紹 轉載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,970評論 6 342
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 馬上就要放假了,應該很開心,可是心情卻因為很多事情變得特別down。 Z是大學室友中長得普通到不能再普通的女生。長...
    粉漠閱讀 170評論 0 0
  • 接近年末的歲月里,突然發現這一年很值,就像我的很多高中同學轉發的許多矯情說說一樣,我們12年入學,15年畢業,中間...
    阿匆閱讀 485評論 0 5