为什么 CLLocationManager 类是 MapKit 的一部分?

问题描述

我只导入了 MapKit 和 UIKit。然后在我的代码中我使用了类 CLLocationManager

var locMgr  = CLLocationManager()

我的代码没有任何错误

但是有一些奇怪的东西。 CLLocationManager 不是 MapKit 框架的一部分。 CLLocationManager 是 CoreLocation 框架的一部分。 但无论如何都没有错误。这不是后果。我不明白这是如何工作的。

解决方法

MapKit 依赖 CoreLocation 框架来实现其功能以及 CoreLocation 提供的类型,例如 CLLocationCoordinate2DCLLocationDegrees 等。为此,它导入 CoreLocation。

因为 MapKit 在其公共 API 中使用 CoreLocation 类型,它也必须重新导出 CoreLocation 本身的导入,即使您没有手动导入 CoreLocation,您也可以使用它。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...