类似类型:不能专业化非传播定义



我有一个控制器,我需要在其中导入两个豆荚。

import Realm
import ReactiveSwift

问题是两者都有名为Property的类型。

现在,如果我将其用于导入两个POD,则会给我编译时间错误Cannot specialize a non-generic definition

解决方法,

我仅在其中创建了一个单独的文件,并将其添加到控制器中。并将ReactiveSwift保存在控制器文件中。这有助于我防止错误。但这是最好的方法吗?

为了使编译器能够确定要使用的Property元素,必须添加命名空间。在这种情况下:

  • Realm.Property使用Realm
  • Property元素
  • ReactiveSwift.Property使用ReactiveSwift
  • Property元素

因此,这里的问题是'属性',也可以在ReactiveSwift中使用。

所以在这里如果您想使用上述答案的领域属性,则表明您可以将Realm.propertyReactiveSwift.Property添加到访问元素。

除此之外,您还可以制作 typealias ,也可以使用 Extension

将代码分为两个文件

相关内容

  • 没有找到相关文章

最新更新