Swift:如何判斷一個對象是否是某個類(或其子類)的實例


在OC中我們直接可以用如下方法即可

[objc] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. [obj  isKindOfClass:[obj class]];  


在Swift中,並沒有 .class 屬性或者方法, 便可以用如下方法

[objc] view plain copy 在CODE上查看代碼片派生到我的代碼片
  1. class Person {  
  2.       
  3. }  
  4.   
  5. class AsiaMen: Person {  
  6.       
  7. }  
  8.   
  9. class ViewController: UIViewController {  
  10.       
  11.     override func viewDidLoad() {  
  12.         super.viewDidLoad()  
  13.           
  14.         let person = AsiaMen()  
  15.           
  16.         var arr = [AnyObject]()  
  17.         arr.append(person)  
  18.         arr.append(self)  
  19.           
  20.         for obj in arr {  
  21.             if obj is Person {  
  22.                 print("obj對象(\(obj.self)) 是Person類的實例")  
  23.             }  
  24.         }  
  25.     }  
  26. }  

 

獲取對象的類名

[objc] view plain copy 在CODE上查看代碼片派生到我的代碼片

let className: AnyClass = obj.classForCoder


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM