is、isMember、isKind

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");
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章