最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

NSAssert:

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

#define NSAssert(condition, desc)

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

 下面介紹NSParameterAssert

   斷言評(píng)估一個(gè)條件,如果條件為 false ,調(diào)用當(dāng)前線程的斷點(diǎn)句柄。每一個(gè)線程有它自已的斷點(diǎn)句柄,它是一個(gè) NSAsserttionHandler 類的對(duì)象。當(dāng)被調(diào)用時(shí),斷言句柄打印一個(gè)錯(cuò)誤信息,該條信息中包含了方法名、類名或函數(shù)名。然后,它就拋出一個(gè) 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.

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

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.

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

相關(guān)文章

  • IOS實(shí)現(xiàn)輸入驗(yàn)證碼、密碼按位分割(二)

    IOS實(shí)現(xiàn)輸入驗(yàn)證碼、密碼按位分割(二)

    這篇文章主要介紹了IOS實(shí)現(xiàn)輸入驗(yàn)證碼、密碼按位分割的方法,在App內(nèi),密碼及驗(yàn)證碼的輸入,采用按位輸入的方法,且位與位之間有分隔線,感興趣的小伙伴們可以參考一下
    2016-01-01
  • iOS利用NSMutableAttributedString實(shí)現(xiàn)富文本的方法小結(jié)

    iOS利用NSMutableAttributedString實(shí)現(xiàn)富文本的方法小結(jié)

    這篇文章主要給大家介紹了關(guān)于iOS利用NSMutableAttributedString如何實(shí)現(xiàn)富文本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-05-05
  • Swift和Objective-C 混編注意事項(xiàng)

    Swift和Objective-C 混編注意事項(xiàng)

    這篇文章主要介紹了Swift和Objective-C 混編注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • iOS開(kāi)發(fā)之使用Storyboard預(yù)覽UI在不同屏幕上的運(yùn)行效果

    iOS開(kāi)發(fā)之使用Storyboard預(yù)覽UI在不同屏幕上的運(yùn)行效果

    使用Storyboard做開(kāi)發(fā)效率非常高,為了防止在團(tuán)隊(duì)中發(fā)生沖突,采取的解決辦法是負(fù)責(zé)UI開(kāi)發(fā)的同事最好每人維護(hù)一個(gè)Storyboard, 公用的組件使用輕量級(jí)的xib或者純代碼來(lái)實(shí)現(xiàn),下面小編就給大家介紹如何使用Storyboard預(yù)覽UI在不同屏幕上的運(yùn)行效果,需要的朋友可以參考下
    2015-08-08
  • 2016 cocoapods的安裝和使用方法以及版本升級(jí)遇到的問(wèn)題

    2016 cocoapods的安裝和使用方法以及版本升級(jí)遇到的問(wèn)題

    CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)的工具,通過(guò)CocoaPods,我們可以將第三方的依賴庫(kù)統(tǒng)一管理起來(lái),配置和更新只需要通過(guò)簡(jiǎn)單的幾行命令即可完成,需要的朋友可以參考下
    2016-09-09
  • iOS實(shí)現(xiàn)百度外賣頭像波浪的效果

    iOS實(shí)現(xiàn)百度外賣頭像波浪的效果

    對(duì)于現(xiàn)在很多人來(lái)說(shuō),叫外賣就成了不可或缺的習(xí)慣。某日瞬間發(fā)現(xiàn)百度外賣的APP波浪效果很是吸引人,相比較其他的外賣APP,顏值略高些.(淘寶也有波浪的效果),遂就思考如何實(shí)現(xiàn)這種"浪"的效果,下面來(lái)一起看看。
    2016-08-08
  • iOS實(shí)現(xiàn)毫秒倒計(jì)時(shí)的方法詳解

    iOS實(shí)現(xiàn)毫秒倒計(jì)時(shí)的方法詳解

    倒計(jì)時(shí)在我們?nèi)粘i_(kāi)發(fā)中必不可少,最近在公司的一個(gè)項(xiàng)目中就遇到了這個(gè)需求,本文著重介紹的是利用iOS實(shí)現(xiàn)毫秒倒計(jì)時(shí)的方法,文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-04-04
  • IOS代碼筆記之下拉選項(xiàng)cell

    IOS代碼筆記之下拉選項(xiàng)cell

    這篇文章主要為大家詳細(xì)介紹了IOS代碼筆記之下拉選項(xiàng)cell的相關(guān)資料,需要的朋友可以參考下
    2016-07-07
  • WKWebView、WebView和JS的交互方式詳解

    WKWebView、WebView和JS的交互方式詳解

    這篇文章主要給大家介紹了關(guān)于WKWebView、WebView和JS的交互方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)各位iOS開(kāi)發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • 解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法

    解決JSON數(shù)據(jù)因?yàn)閚ull導(dǎo)致數(shù)據(jù)加載失敗的方法

    前段時(shí)間發(fā)現(xiàn)一個(gè)問(wèn)題,當(dāng)JSON數(shù)據(jù)中有null會(huì)導(dǎo)致數(shù)據(jù)加載失敗,后來(lái)解決了,現(xiàn)在將解決方法分享給大家,有同樣問(wèn)題的朋友們可以參考。下面來(lái)一起看看吧。
    2016-09-09

最新評(píng)論

东兰县| 会东县| 重庆市| 杂多县| 环江| 凯里市| 浙江省| 阳原县| 图木舒克市| 大丰市| 汤阴县| 禹州市| 拉萨市| 黎城县| 通化市| 辉县市| 商丘市| 城口县| 安塞县| 祁连县| 南通市| 鹤岗市| 韩城市| 新乡县| 荣成市| 山东省| 建平县| 蒲城县| 沭阳县| 石河子市| 海丰县| 舟山市| 广河县| 桐乡市| 西宁市| 松原市| 安乡县| 康保县| 临安市| 炎陵县| 桂阳县|