【发布时间】:2015-08-30 04:17:27
【问题描述】:
这是我的 Dog.Swift 文件:
import RealmSwift
class Dog : Object {
dynamic var name : String = ""
dynamic var age : Int8 = 0
}
这是我打电话给它的地方:
let realm = Realm()
var myDog = Dog()
myDog.name = "Fido"
myDog.age = 5
realm.write{
realm.add(myDog)
}
let documentsPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0] as! NSString
let realmPath = documentsPath.stringsByAppendingPaths(["Dogs.swift"])
let pathToFile = realmPath[0] as! String
let allDogs = Realm(path: pathToFile).objects(MetricR)
println(allDogs)
println(allDogs.count)
哪些输出到控制台:
Results<MetricR> (
)
0
所以我的问题的第 1 部分:我添加了 filesPath、realmPath 和 pathToFile 变量,因为之前,当我只是将“Dogs.swift”而不是 pathToFile 传递给查询时,我收到一个错误消息:
"Terminating app due to uncaught exception 'RLMException', reason: 'open() failed: Permission denied
Unable to open a realm at path 'Dogs.swift'. Please use a path where your app has read-write permissions.'",
之后我将文件的权限更改为 777,但什么也没做,所以我传入了 pathToFile 变量,这似乎解决了这个问题。我猜(我希望这里有人能告诉我!),这与我遇到的问题有关 - 这导致了第二部分 - 为什么查询没有产生任何结果?是不保存,还是查询不正确?
【问题讨论】: