欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

IOS 使用NSAssert()和NSParameterAssert調(diào)試程序

 更新時間:2017年06月14日 09:29:14   投稿:lqh  
這篇文章主要介紹了IOS 使用NSAssert()和NSParameterAssert調(diào)試程序的相關(guān)資料,需要的朋友可以參考下

IOS 使用NSAssert()和NSParameterAssert調(diào)試程序

NSAssert:

  NSAssert()只是一個宏,用于開發(fā)階段調(diào)試程序中的Bug,通過為NSAssert()傳遞條件表達(dá)式來斷定是否屬于Bug,滿足條件返回真值,程序繼續(xù)運(yùn)行,如果返回假值,則拋出異常,并切可以自定義異常描述。NSAssert()是這樣定義的:

#define NSAssert(condition, desc)

condition是條件表達(dá)式,值為YES或NO;desc為異常描述,通常為NSString。當(dāng)conditon為YES時程序繼續(xù)運(yùn)行,為NO時,則拋出帶有desc描述的異常信息。NSAssert()可以出現(xiàn)在程序的任何一個位置。

 下面介紹NSParameterAssert

   斷言評估一個條件,如果條件為 false ,調(diào)用當(dāng)前線程的斷點(diǎn)句柄。每一個線程有它自已的斷點(diǎn)句柄,它是一個 NSAsserttionHandler 類的對象。當(dāng)被調(diào)用時,斷言句柄打印一個錯誤信息,該條信息中包含了方法名、類名或函數(shù)名。然后,它就拋出一個 NSInternalInconsistencyException 異常。

Assertions evaluate a condition and, if the condition evaluates to false, 
call the assertion handler for the current thread, passing it a format 
string and a variable number of arguments. Each thread has its own assertion handler, 
which is an object of classNSAssertionHandler. When invoked, an assertion 
handler prints an error message that includes method and class names (or the function name). 
It then raises anNSInternalInconsistencyException exception.

  這個宏用于確認(rèn)一個 Objective-C 的方法的有效性。簡單提供參數(shù)作為條件就行。該宏評估這個參數(shù),如果為 false ,它就打印一個錯誤日志信息,該信息包含了參數(shù)并且拋出一個異常。

This macro validates a parameter for an Objective-C method. Simply provide the
 parameter as the condition argument. The macro evaluates the parameter and, 
if it is false, it logs an error message that includes the parameter and then raises an exception.

  如果定義了預(yù)處理宏 NS_BLOCK_ASSERTIONS 斷言就被禁止了。所有的斷點(diǎn)宏都返回 void。

Assertions are disabled if the preprocessor macro NS_BLOCK_ASSERTIONS is defined. 
All assertion macros return void.

 感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • 最新ios面試試題以及解決思路分析

    最新ios面試試題以及解決思路分析

    本篇內(nèi)容給大家整理了關(guān)于IOS程序員面試的試題以及相關(guān)解決方法,需要的朋友們參考一下吧。
    2017-12-12
  • iOS開發(fā)-調(diào)用系統(tǒng)相機(jī)和相冊獲取照片示例

    iOS開發(fā)-調(diào)用系統(tǒng)相機(jī)和相冊獲取照片示例

    這篇文章主要介紹了iOS開發(fā)-調(diào)用系統(tǒng)相機(jī)和相冊獲取照片示例的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • Swift 2.1 為 UIView 添加點(diǎn)擊事件和點(diǎn)擊效果

    Swift 2.1 為 UIView 添加點(diǎn)擊事件和點(diǎn)擊效果

    本文主要介紹 Swift UIView,這里給大家提供代碼示例作為參考為UIView 添加點(diǎn)擊事件和點(diǎn)擊效果,希望能幫助IOS開發(fā)的同學(xué)
    2016-07-07
  • Flutter之PageView頁面緩存與KeepAlive

    Flutter之PageView頁面緩存與KeepAlive

    這篇文章主要為大家介紹了Flutter之PageView頁面緩存與KeepAlive示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 簡述iOS屬性中的內(nèi)存管理參數(shù)

    簡述iOS屬性中的內(nèi)存管理參數(shù)

    這篇文章主要介紹了簡述iOS屬性中的內(nèi)存管理參數(shù) 的相關(guān)資料,需要的朋友可以參考下
    2018-02-02
  • iOS開發(fā)之用javascript調(diào)用oc方法而非url

    iOS開發(fā)之用javascript調(diào)用oc方法而非url

    本文說的是非攔截URL進(jìn)行判斷,然后調(diào)用oc方法這種調(diào)用手段,所以不用討論說為什么不用url這種方法,具體看需求,有需要的可以參考。
    2016-07-07
  • 用iOS代碼獲取APP啟動頁圖片

    用iOS代碼獲取APP啟動頁圖片

    這篇文章主要為大家詳細(xì)介紹了用iOS代碼獲取APP啟動頁圖片的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-08-08
  • IOS 基本文件操作實例詳解

    IOS 基本文件操作實例詳解

    這篇文章主要介紹了IOS 基本文件操作實例詳解 的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • iOS中UILabel實現(xiàn)長按復(fù)制功能實例代碼

    iOS中UILabel實現(xiàn)長按復(fù)制功能實例代碼

    在iOS開發(fā)過程中,有時候會用到UILabel展示的內(nèi)容,那么就設(shè)計到點(diǎn)擊UILabel復(fù)制它上面展示的內(nèi)容的功能,也就是Label長按復(fù)制功能,下面這篇文章主要給大家介紹了關(guān)于在iOS中UILabel實現(xiàn)長按復(fù)制功能的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • iOS如何用100行代碼實現(xiàn)簡單的抽屜效果

    iOS如何用100行代碼實現(xiàn)簡單的抽屜效果

    最近在網(wǎng)上看到一些抽屜效果,看起來很酷!很眩!但是,下不下來看代碼, 所以決定還是自己寫吧!!這篇文章通過近100行的代碼就實現(xiàn)了簡單的抽屜效果,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-10-10

最新評論