Swift - 关于导入包与类
Posted
技术标签:
【中文标题】Swift - 关于导入包与类【英文标题】:Swift - About importing packages vs classes 【发布时间】:2016-11-22 19:53:09 【问题描述】:我需要在我的这个类中使用 MKMapViewDelegate,所以我想知道导入是否是一个好习惯
import MapKit.MKMapView
改为
import MapKit
导入整个包会影响应用性能还是在性能方面我应该考虑什么?
【问题讨论】:
【参考方案1】:import MapKit.MKMapView
没有实际区别。它仍然导入所有MapKit
(例如,尝试创建一个MKShape()
或任何其他MapKit 类)。 Swift 不支持以这种方式导入单个类。我不知道为什么它甚至允许使用语法(可能值得为此打开一个错误,因为它令人困惑)。
在少数情况下实际上有子模块,然后你必须直接导入子模块(导入伞并不总是足够好)。例如,要从 SceneKit 获取一些类别方法,您必须明确地 import SceneKit.ModelIO
(但我认为这也不是真正的预期行为)。
但无论如何,今天没有充分的理由限制您的进口。最终,希望 Swift 能够获得更好的导入功能,让我们更好地控制命名空间,但现在,只需导入模块即可。
【讨论】:
【参考方案2】:不,您的应用性能不会受到影响,这也是一种很好的做法,但是我强烈建议您只导入 Mapkit,这样您就可以在该导入中使用任何东西,而不是从同一个包中导入多个东西。
【讨论】:
以上是关于Swift - 关于导入包与类的主要内容,如果未能解决你的问题,请参考以下文章