is關鍵字
is是關鍵字.可以用於任何類型的判斷.包括了非對象類型,如Int等類型.或者判斷對象是參數給定的類或是子類.
let a = 10
if a is Int {
print("YES")
}
let a = NSObject()
if a is NSObject {
print("YES")
}
注意,is是判斷類型的,舉個例子,如果枚舉的值是Int,拿一個枚舉值去判斷是否是Int得到的結果會是false,因爲是枚舉類型.判斷類的時候效果參考isKindOfClass,如果是該類或者是子類都會返回YES
isMember和isKind方法
isMember和isKind不是關鍵字,是屬於遵循NSObjectProtocol協議並且實現對應方法的協議方法(PS,NSObject默認實現了這些方法,所以繼承NSObject就不需要去實現這些方法),用法和is不太一樣.
let a = NSObject()
if a.isKind(of: NSObject.self) {
print("sadasdsd");
}