2017-06-09 57 views
1

我升级了一个我正在开发Swift 4.0的项目。这样做后,我意识到这不是最好的主意。我已经修复了所有的错误,但是无法解决。我在我的项目中安装了RealmSwift,并在其中一个Realm文件中出现以下错误。无法调用非函数类型'ThreadConfined.Type'的值 - Swift 4.0

错误:无法调用非功能型的价值“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

Realm的主分支现在包含对Xcode 9(#5006)的Swift 4和beta 1的支持。使用来自源代码的Realm Swift版本应该可以启动并运行。

+0

这里的链接将带您到所需的文件。 https://github.com/realm/realm-cocoa/blob/master/RealmSwift/ThreadSafeReference.swift – jonthornham

+0

你能否指出我的源代码解释了如何从源代码创建Realm Swift的构建? – jonthornham

+0

[GitHub存储库的自述文件](https://github.com/realm/realm-cocoa#building-realm)从源代码构建Realm。或者,您可以通过使用CocoaPods或Carthage集成Realm,并指定一个Git分支而不是要构建的发行版来从源代码构建。 – bdash

0

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

为了解决这个问题,两行需要拆除(如@ jonthornham的评论在文件中看到):

private let type: ThreadConfined.Type 

和:

type = type(of:threadConfined) 
相关问题