无法调用非函数类型'ThreadConfined.Type'的值 - Swift 4.0
问题描述:
我升级了一个我正在开发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)
}
课了解太快升级。我希望有人能帮我一把,所以我可以再次开始发展。有什么想法吗?
答
我注意到,即使我是从源代码构建(使用CocoaPods),这个问题也发生在我身上。
为了解决这个问题,两行需要拆除(如@ jonthornham的评论在文件中看到):
private let type: ThreadConfined.Type
和:
type = type(of:threadConfined)
这里的链接将带您到所需的文件。 https://github.com/realm/realm-cocoa/blob/master/RealmSwift/ThreadSafeReference.swift – jonthornham
你能否指出我的源代码解释了如何从源代码创建Realm Swift的构建? – jonthornham
[GitHub存储库的自述文件](https://github.com/realm/realm-cocoa#building-realm)从源代码构建Realm。或者,您可以通过使用CocoaPods或Carthage集成Realm,并指定一个Git分支而不是要构建的发行版来从源代码构建。 – bdash