2017-06-09 99 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) 
相關問題