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

时间:2017-06-09 02:09:12

标签: swift realm swift4

我将正在处理的项目升级到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)
}

课程了解到过快升级。我希望有人可以帮助我,让我可以再次开始发展。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

Realm的主分支现在支持Swift 4和Xcode 9的beta 1(#5006)。使用来自源代码的Realm Swift构建应该可以帮助您启动并运行。

答案 1 :(得分:0)

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

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

private let type: ThreadConfined.Type

type = type(of:threadConfined)