您好,登錄后才能下訂單哦!
一、使用as操作符
并不是所有的類型都可以互相轉換
let p1:Person = Student(name:"tom",age:20,school:"test")
let p2:Person = Worker(name:"jerry",age:30,school:"test")
let p3:Person = Person(name:"harry",age:35)
if p1 is Student{
let s1 = p1 as Student //強制類型轉換
}
創建了3個實例p1,p2,p3,類型都是Person,p1是Student實例,p2是Worker實例,p3是Person實例,p1和p2都聲明為Person類,而實例是由Person子類型實例化
對象 Person類型 Worker類型 Student類型 說明
p1 支持 不支持 支持 類型Person,實例:Student
p2 支持 支持 不支持
p3 支持 不支持 不支持
let p1 as? Worker ----在強制類型轉換時,as加問號表示如果不能進行類型轉換,則賦值于nil空值
二、使用is操作符
is 操作符可以判斷一個實例是否是某個類的類型,如果實例是目標類型,結果返回true,否則為false
三、使用Any和AnyObject類型
在swift中,提供了2種類型表示不確定類型:AnyObject和Any,AnyObject表示任何任何類的類型,而Any可以表示任何類型,包括類和其他類型,也包括Int和Double基本類型
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。