Swift 3 模棱两可的 Class 名字
Swift 3 Ambiguous Class name
我正在将我的代码转换为 swift 3。我有一个 Objective C class "Dimension",它在 [=20] 中运行良好=] 2.3。现在我收到以下错误。
'Dimension' is ambiguous for type lookup in this context
我该如何解决这个问题。
实际上 Swift 3.0 已经从大多数 NS classes 中删除了 'NS'。因此,iOS Foundation 框架在 Swift 3.0 中有 NSDimension class and it's renamed to Dimension。所以这可能是上述错误的原因。您可能需要考虑重命名维度 class(例如:CustomDimension)。
注意:NSDimension class 仅适用于 iOS10+。
正如 @Natarajan 所述,您的 class 名称现在与 OS 的另一个 class 冲突。
如果您不想重命名您的 class,您可以识别您的 class,将您的项目名称作为 class 名称的前缀。
所以每次引用Dimension
let dimension: Dimension = ...
如下所示更改您的代码
let dimension:YourProjectName.Dimension = ...
我正在将我的代码转换为 swift 3。我有一个 Objective C class "Dimension",它在 [=20] 中运行良好=] 2.3。现在我收到以下错误。
'Dimension' is ambiguous for type lookup in this context
我该如何解决这个问题。
实际上 Swift 3.0 已经从大多数 NS classes 中删除了 'NS'。因此,iOS Foundation 框架在 Swift 3.0 中有 NSDimension class and it's renamed to Dimension。所以这可能是上述错误的原因。您可能需要考虑重命名维度 class(例如:CustomDimension)。
注意:NSDimension class 仅适用于 iOS10+。
正如 @Natarajan 所述,您的 class 名称现在与 OS 的另一个 class 冲突。
如果您不想重命名您的 class,您可以识别您的 class,将您的项目名称作为 class 名称的前缀。
所以每次引用Dimension
let dimension: Dimension = ...
如下所示更改您的代码
let dimension:YourProjectName.Dimension = ...