ios – 告诉Swift编译器一个对象的类型,而不是推断?

前端之家收集整理的这篇文章主要介绍了ios – 告诉Swift编译器一个对象的类型,而不是推断?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经做了几个月的 Swift编程了,我一直很好奇这个……

告诉Swift编译器声明中对象的类型是否有优势?
I.e.let图像:UIImage = UIImage()

与不告诉编译器并让它在运行时推断类型相比.我让image = UIImage()

我认为告诉编译器对象类型而不是推断它的类型会更有效.我知道这个问题也适用于Objective-C语法,所以我会在标签添加它.

解决方法

两者之间的运行时效率差异为零.在编译期间,Swift会推断出类型并为您编写代码.但一旦编译,这两个陈述是相同的.

这纯粹是一个可读性问题,偶尔也是编译器效率问题.

可读性因为在语句中让图像:UIImage = UIImage(),UIImage的双重外观只是杂乱无章.在更复杂的类型的情况下,它非常重要 – 没有人想要写let键:LazyForwardCollection< MapCollectionView< Dictionary< String,Int>,String>> = dict.keys,当他们可以写let keys = dict.keys.

编译器的效率,因为偶尔你会发现一个特别模糊的类型(文字文字因此而臭名昭着)需要解决大量的重载,如果在左侧明确命名类型,可以更快地编译.但这只是一个问题,它编译速度有多快,而不是编译后运行速度有多快.

原文链接:https://www.f2er.com/iOS/334822.html

猜你在找的iOS相关文章