1

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

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

4

2 回答 2

2

Realm 的 master 分支现在包含对 Swift 4 和 Xcode 9 ( #5006 ) 的 beta 1 的支持。从源代码使用 Realm Swift 构建应该可以让您启动并运行。

于 2017-06-09T03:53:45.813 回答
0

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

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

private let type: ThreadConfined.Type

和:

type = type(of:threadConfined)
于 2017-06-27T19:44:23.547 回答