Realm = RLMRealm'没有成员'setDefaultRealmPath'

时间:2015-12-23 06:03:58

标签: ios swift2 realm xcode7.2

我已将Realm.framework和RealSwift.framework添加到项目中。和“import Realm”虽然我收到了这个错误:

RLMRealm'没有成员'setDefaultRealmPath'

 let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.it.fancypixel.Done")!
        let realmPath = (directory.path! as NSString).stringByAppendingPathComponent("db.realm")
        RLMRealm.setDefaultRealmPath(realmPath)

我似乎无法在任何地方找到解决方案,因为它是如此新颖。

提前致谢。

2 个答案:

答案 0 :(得分:9)

Realm(Swift和Objective-C库)刚刚更新到0.97版本。虽然setDefaultRealmPath过去是一个有效的API,但后来被弃用,从0.97开始,已完全删除。因此,如果它在过去工作,一旦你更新到0.97,它现在​​将导致构建错误。

现在可以通过Realm RLMRealmConfiguration对象控制设置Realm的文件位置。要设置默认路径,现在可以这样做:

let directory: NSURL = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.it.fancypixel.Done")!
let realmPath = (directory.path! as NSString).stringByAppendingPathComponent("db.realm")

var config = RLMRealmConfiguration.defaultConfiguration()
config.path = realmPath
RLMRealmConfiguration.setDefaultConfiguration(config)

如果您需要进一步澄清,请与我们联系!

答案 1 :(得分:0)

Swift 4 中,您可以使用此

let identifier = "group.companyName.projectName"
    var directory: URL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: identifier)!


    directory.appendPathComponent("db.realm", isDirectory: true)

    let config = Realm.Configuration(
        fileURL: directory,
        schemaVersion: 1,
        migrationBlock: { migration, oldSchemaVersion in  })

    Realm.Configuration.defaultConfiguration = config