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.

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

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...