2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > swift as as! as?

swift as as! as?

时间:2020-11-01 10:02:56

相关推荐

swift as as! as?

class Animal {}class Cat: Animal {}class Dog: Animal {var name = "Spot"}

// 从子类到父类的转换,这样是可行的。这个转换被官方称为“Guaranteed conversion”。// 一个类型的值可担保转换到另一个类型,这种转换的成功可以由编译器来保证。例如:向上转换(例:从一个类转换到它的父类),或指明一个文本表达(例:将1转换成Float型)let a = Dog()a as Animallet dog: Dog? = nildog?.name// 评估为nildog!.name// 引发运行时错误let animal: Animal = Cat()// ?和swift中其他的?用法类似,就是可选类型,可以让某一对象值为空。animal as? Dog// 评估为nil// as! ,被官方成为强制转换"Forced conversion"// 一个值强制转换为另一个值,它的安全性不能被编译器保证,因此它可能造成运行时错误。例如向下转换,将一个类向它的派生类转换。animal as! Dog// 引发运行时错误

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。