一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - IOS 使用NSAssert()和NSParameterAssert調試程序

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

2021-03-18 15:47jingxin1992 IOS

這篇文章主要介紹了IOS 使用NSAssert()和NSParameterAssert調試程序的相關資料,需要的朋友可以參考下

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

NSAssert:

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

?
1
#define NSAssert(condition, desc)

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

 下面介紹NSParameterAssert

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

?
1
2
3
4
5
6
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.

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

?
1
2
3
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.

  如果定義了預處理宏 NS_BLOCK_ASSERTIONS 斷言就被禁止了。所有的斷點宏都返回 void。

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

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

原文鏈接:http://www.cnblogs.com/jingxin1992/p/5795039.html

延伸 · 閱讀

精彩推薦
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
主站蜘蛛池模板: 国产成人91高清精品免费 | 国产成年人在线观看 | 美女脱了内裤张开腿亲吻男生 | 午夜久久免影院欧洲 | 亚洲精品在线免费看 | 日韩免费毛片视频杨思敏 | 久久这里只有精品视频9 | 精品区2区3区4区产品乱码9 | 星星动漫在线观看无删减 | 爱爱小说漫画 | 波多野结在线 | 成年人免费在线看 | 性色AV乱码一区二区三区视频 | 日本暖暖视频在线观看 | 国产成人久久 | 四虎海外影院 | 成年无限观看onlyfans | 国产在线观看91精品一区 | 99精品在线 | 日本黄色高清视频网站 | 国产精品制服丝袜白丝www | 国产成人夜色91 | 王淑兰李思雨李铁柱乡村小说免费 | 亚洲无人区乱码中文字幕 | 激情影院费观看 | 星星动漫在线观看免费 | 精品一久久香蕉国产线看观 | 日韩视频免费看 | 大象传媒2021秘密入口 | 俄罗斯烧性春三级k8播放 | 精品国产一区二区三区久久久蜜臀 | xxxxxx性受| 国产一区二区播放 | 久久久久影视 | 午夜一个人在线观看完整版 | 国产午夜永久福利视频在线观看 | 久久免费看少妇高潮A片特爽 | 亚洲精品久久玖玖玖玖 | 精品视频久久久久 | 亚洲视频中文字幕 | 四虎色影院 |