我只是試圖爲Swift 3安裝最新版本的Realm(2.1.0),並且在此行中出現錯誤:let realm = RLMRealm(path:databasePath) - DataManager.swift:258:21:參數標籤'(路徑:)'不匹配任何可用的重載 參數聲明如下: var databasePath:StringRLMRealm(路徑:)參數標籤'(路徑:)'不匹配任何可用的重載
我知道swift 3需要第一個參數的標籤,但是我已經到處尋找替換,並且找不到答案。
我只是試圖爲Swift 3安裝最新版本的Realm(2.1.0),並且在此行中出現錯誤:let realm = RLMRealm(path:databasePath) - DataManager.swift:258:21:參數標籤'(路徑:)'不匹配任何可用的重載 參數聲明如下: var databasePath:StringRLMRealm(路徑:)參數標籤'(路徑:)'不匹配任何可用的重載
我知道swift 3需要第一個參數的標籤,但是我已經到處尋找替換,並且找不到答案。
+ [RLMRealm realmWithPath:]
是一個API,它在幾個月前被棄用並完全從Realm中刪除。它被替換爲+ [RLMRealm realmWithConfiguration:]
,其中您提供了一個RLMRealmConfiguration
對象,其文件路徑爲其在fileURL
屬性中設置的目標文件。
let configuration = RLMRealmConfiguration.defaultConfiguration()
configuration.fileURL = URL(path: databasePath)
let realm = RLMRealm(configuration: configuration)
在一個側面說明,除非你有特殊原因在使用雨燕的境界Objective-C的版本,我強烈建議你使用the native Swift version of Realm代替。這應該會容易很多,並且在Swift 3中感覺更加自然。:)
感謝TiM,我是新來的項目,並且在6個月前離開了一些開發者。我懷疑我有一些認真的家務要做,因爲該項目有大量的Realm.h和其他東西仍在其中。 – MarkAMark
感謝TiM,我對這個項目很陌生,並且在6個月前發現一些開發者離開的地方。我懷疑我有一些認真的家務要做,因爲該項目有大量的Realm.h和其他東西仍在其中。也就是說,我找到了一個臨時解決方法,這是因爲RLMRealm(_ :)的參數正在尋找一個url而不是一個字符串。所以解決方法是:var databasePath:URL,然後讓realm = RLMRealm(url:databasePath)。但是,如果遵循建議使用Realm的本地Swift版本,我想所有這些都會改變。 – MarkAMark