无法调用非函数类型的值 'ThreadConfined.Type' - Swift 4.0

Cannot call value of non-function type 'ThreadConfined.Type' - Swift 4.0

我将正在进行的项目升级到 Swift 4.0。这样做之后,我意识到这不是最好的主意。我已经修复了所有错误,但无法弄清楚。我在我的项目中安装了 RealmSwift,但在其中一个 Realm 文件中出现以下错误。

错误:无法调用非函数类型的值'ThreadConfined.Type'

 public init(to threadConfined: Confined) {
    let bridged = (threadConfined as! AssistedObjectiveCBridgeable).bridged
    swiftMetadata = bridged.metadata
    type = type(of: threadConfined).  ****ERROR CALLED ON THIS LINE****
    objectiveCReference = RLMThreadSafeReference(threadConfined: bridged.objectiveCValue as! RLMThreadConfined)
}

有关过早升级的教训。我希望有人能帮我一把,这样我就可以重新开始开发了。有什么想法吗?

Realm 的 master 分支现在包含对 Swift 4 和 Xcode 9 (#5006) 的 beta 1 的支持。从源代码中使用 Realm Swift 的构建应该会让你和 运行.

我注意到即使我是从源代码构建的(使用 CocoaPods),这个问题也发生在我身上。

要解决它,需要删除两行(如@jonthornham 评论中的文件所示):

private let type: ThreadConfined.Type

和:

type = type(of:threadConfined)