Swift类型判断

一、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("狗也是动物")
}

你可能感兴趣的:(Swift类型判断)