为什么我要在Swift中使用类型转换?
发布时间:2020-12-14 04:25:44 所属栏目:百科 来源:网络整理
导读:为什么我要在 Swift中使用类型转换? 我正在学习语言,我遇到了类型转换的主题(例如向下和向上转换等),但在我看来,这似乎有点麻烦.为什么我要对一个对象进行类型转换?什么时候这在现实生活应用程序或代码中有用? 我在互联网上看了一下,但我似乎无法找到一个
为什么我要在
Swift中使用类型转换?
我正在学习语言,我遇到了类型转换的主题(例如向下和向上转换等),但在我看来,这似乎有点麻烦.为什么我要对一个对象进行类型转换?什么时候这在现实生活应用程序或代码中有用? 提前致谢! 解决方法
这里的关键案例是向下转型.你会这样做,因为你可能知道一个对象到底是什么类型,但是编译器不知道,所以它不允许你将该类型的消息发送给该对象.
例: override func prepare(for segue: UIStoryboardSegue,sender: Any?) { if let dest = segue.destination as? FlipsideViewController { dest.delegate = self } } segue.destination类型为UIViewController;这只是一个事实,并不取决于你,因为segue的目的地需要能够成为任何类型的UIViewController. 只有你知道这个视图控制器实际上是一个FlipsideViewController.如果你不告诉编译器,你不能设置它的委托属性(普通的UIViewController没有委托属性). 总结一下:常见的向下转换情况是当一个类型需要被声明为超类时,因为任何子类都需要被接受,但是在特定的实例中,你知道它是什么子类,所以你需要向下转换它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |