iT邦幫忙

0

iOS APP 開發 OC 第十六天,動態類型檢測

  • 分享至 

  • twitterImage
  •  
tags: OC 30 day

編譯檢查

編譯器在編譯的時候,判斷一個指針是否可以調用指針的對象方法。
判斷的準則就是指針類型。

OC的編譯器是LLVM,不是Xcode,Xcode是IDE。

意味著我們可以把編譯器騙過。

就算騙過了編譯器,程序在運行的時候還會做運行檢查。

我們寫的程序就算編譯通過了,不意味著可以完美的執行。

我們就希望,我們可以寫代碼來判斷一下,對象中是否有這個方法,如果有再去執行,如果沒有就不要執行。

  1. 判斷指針指向的得向是否有這個方法可以去執行。
 BOOL b1 = [p1 respondsToSelector:@selector(sayHi)];
  1. 判斷指定的對象是否為 指定類的對象或者子類對象
- (BOOL)isKindOfClass:(Class)aClass;
  1. 判斷對象是否為指定類的對象,不包括子類。
- (BOOL)isMemberOfClass:(Class)aClass;

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言