一.as
1,派生类转换基类。
2,消除二义性,数值类型转换
let age = 28 as Int let money = 20 as CGFloat let cost = (50 / 2) as Double
3,switch 语句中进行模式匹配
func separateStudentsAndTeacher (person:Person) {
switch person {
case person as Students:
print("是学生类,打印学生成绩单")
case person as Teacher:
print("是教师类,打印教师工资单")
default:
break;
}
}
二,as?
as? 和 as! 操作符的转换规则完全一样。但 as? 如果转换不成功的时候便会返回一个 nil 对象。成功的话返回可选类型值。由于 as? 在转换失败的时候也不会出现错误,所以对于如果能确保100%会成功的转换则可使用 as!,否则使用 as?
三,as!
向下转型(Downcasting)时使用。由于是强制类型转换,如果转换失败会报 runtime 运行错误。
Swift类型转换详解

本文深入探讨了Swift中的类型转换机制,包括as、as?及as!操作符的使用方法及其区别,通过具体示例展示了如何在不同场景下进行类型转换,并强调了在使用强制类型转换时应注意的问题。
715

被折叠的 条评论
为什么被折叠?



