一、isKind和isMember
class Animal {}
class Dog:Animal{}
var animal:AnyObject = Animal()
if animal .isKind(of: Animal.self){
print("动物类")
}
animal = Dog()
if animal.isKind(of: Animal.self){
print("动物类")
}
if animal.isMember(of: Animal.self){
print("狗类")
}else{
print("非狗类")
}
- isKind和isMember属于oc的方法,类型必须是AnyObject 类型的(可以转换成NSObject的类)
- isKindof:判断其类型是同类或者其子类
- .isMembeof:判断其类型只是同类,如果是子类返回为true
二、is
swift的类型判断方法,如果实例是同类型或者其同类型的子类返回为true,类似isKindof
import UIKit
class Animal {}
class Dog:Animal{}
var animal:Any = Animal()
if animal is Animal {
print("动物类")
}
animal = Dog()
if animal is Animal {
print("狗也是动物")
}