我在这里引用RealmSwift开发iOS应用程序。 https://realm.io/docs/swift/latest/#in-memory-realms 而且,我不明白的是,如何指示领域文件中数据的位置(记录和列)。
我在保存与ViewController.swift相同位置的主文件夹中保存了一个名为“DicData.realm”的域文件。
DicData.realm的数据是这样的:
1,face,423 2,rain,435 3,airplane,555
如果我运行下面的代码,它只打印如下:“results:Results()”。似乎过滤方法只是被忽略了。当我想取出“飞机”这个词并将其作为字符串存储在变量中时,我该如何修改我的代码?
override func didMoveToView(view: SKView) {
func test()->Int {
let realm = try! Realm(configuration: Realm.Configuration(inMemoryIdentifier: "DicData"))
let results = realm.objects(DBData).filter("id == 3")
print("results: \(results)")
}
class DBData: Object {
dynamic var id = 0
dynamic var name = ""
dynamic var code = ""
}
答案 0 :(得分:0)
您在这里指的是内存领域的章节,并已设置您的配置以使用它们。 内存中域不是文件。它只存在于内存中,实际上并没有写入磁盘。
如果你有一个准备好的文件,你想要与你的应用程序捆绑在一起,你需要确保它是你的Xcode相应目标的复制文件构建阶段的一部分项目
然后,您可以最初通过NSFileManager
将应用程序包中的文件复制到可以修改副本的路径。
let defaultURL = Realm.Configuration.defaultConfiguration.fileURL!
let bundleURL = NSBundle.mainBundle().URLForResource("DicData", withExtension: "realm")!
do {
try NSFileManager.defaultManager().copyItemAtURL(bundleURL, toURL: defaultURL)
} catch {}
}