歡迎加入QQ討論群258996829
麥子學院 頭像
蘋果6袋
6
麥子學院

Swift中_Any和AnyObject的類型如何轉換?

發(fā)布時間:2017-09-08 22:36  回復:0  查看:2454   最后回復:2017-09-08 22:36  
本文和大家分享的主要是swift _Any AnyObject 的類型轉換相關內容,一起來看看吧,希望對大家 學習swift有所幫助。
   1.AnyObject
  AnyObject 表示任何類型的實例
   class  Person{
   var name:String?
   init(name:String) {
   self.name = name
  }
  }
   class  EmployeePerson {
   var company:String?
   init(name:String,company:String) {
   self.company = company
   super. init(name: name)
  }
  }
   class  StudentPerson {
   var school:String?
   init(name:String,school:String) {
   self.school = school
   super. init(name: name)
  }
  }
let employee1 = Employee(name:" 張三 ",company:"apple 公司 ")
let employee2 = Employee(name:" 李四 ",company:"google 公司 ")
let members:[AnyObject] = [employee1,employee2]
   for item  in members{
   let employee = item  as!Employee
  print(" 員工公司: \(String(describing: employee.company))")
  }
   2.Any類型
  Any 類型可以表示任何類型,比如類,函數, Int , String ,元祖等
   var things = [Any]()
  things.append(42)
  things.append("hello")
  things.append((2,5))
  things.append(Employee(name:" 梅梅 ", company: " 中國航天公司 "))
  things.append({(name:String) -> String  in " 你好 ,\(name)"})
   for thing  in things{
   switch thing{
   case  let someInt  as Int:
  print(" 整數: \(someInt)")
   case  let someString  as String:
  print(" 字符串 :\"\(someString)\"")
   case  let (x,y)  as (Int,Int):
  print(" 元組類型: \(x,y)")
   case  let employee  as Employee:
  print(" 員工 :\(String(describing: employee.name)), 公司 :\(String(describing: employee.company))")
   case  let stringConverter  as(String)->String:
  print(stringConverter(" 小明 "))
   default:
  print(" 其他 ")
  }
  }
  注意
  在switch 語句的 case 語句里使用類型轉換操作符 as 而不是 as! ,來檢查和轉換到一個明確的數據類型,在 switch case 語句中這樣的檢查總是安全的
Swift中_Any和AnyObject的類型如何轉換?

QQ截圖20170409201802.png (111.53 KB, 下載次數: 0)

下載附件

12 秒前 上傳

Any AnyObject 的類型轉換結果輸出
來源: 簡書
您還未登錄,請先登錄

熱門帖子

最新帖子

?