- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是我的 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 部分:我添加了 documentsPath、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 变量,这似乎解决了该问题。我猜(我希望这里有人可以告诉我!),这与我遇到的问题有关 - 这导致了第二部分 - 为什么查询没有产生任何结果?是没有保存,还是查询不正确?
最佳答案
(免责声明:我为 Realm 工作)
我想我在那里看到了一些可能导致其中一些问题的事情。
1) 当您将 Dog 对象添加到 Realm 时,您使用的是 Realm()
对象,该对象(默认情况下,除非您更改它)将指向一个 Realm 文件在您的文档目录中命名为 default.realm
。在添加和读取这些对象时,您需要指定 Dogs
Realm 文件的路径。
2) 是的。您需要指定要保存的 Realm 文件的绝对文件路径。如果您只指定文件名,则假定您指的是 iOS 设备的根目录,它不在您应用的沙盒中。
您应该能够像您一样通过获取应用的文档文件路径来设置文件路径,然后调用 stringByAppendingPathComponent:
将文件名添加到末尾。
此外,调用文件 Dogs.realm
而不是 Dogs.swift
可能会更好。它可能不会对实现产生影响,但会减少混淆。
3) 在查询 dogs 对象时,您有一个名为 MetricR
的对象。那是故意的吗? (它应该只是 Dog
)。
如果您需要进一步说明,请告诉我!谢谢!
关于ios - Realm : Results showing up as nil (either not saving or not writing),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32293106/
我有一个扩展程序,我已经拆掉了裸机,它使自己处于不正确的状态,当它折叠时它会说“显示更少”。 这有两种情况 我使用“显示更多”展开扩展,然后离开屏幕。我打开另一个应用程序,然后返回到扩展程序。扩展的扩
为什么这些不相等? show $ if someCondition then someInt else some double 和 if someCondition then show someInt
下面给出的代码可以编译,ok。 data Car p q r = Car {company :: p , model :: q
是否可以在表结构中的“显示 0 到 0 个条目中的 0 个条目”旁边显示“显示条目”下拉列表。我想在底部显示“显示条目”下拉列表以及分页并显示 0 到 0 个条目,共 0 个条目。 提前致谢!!! 图
我不明白当你这样做一连串 .show() 时会发生什么。我也没有编写这段代码,也不知道如何弄清楚这里发生了什么。因此就有了这个问题。 // Remove favorite category
$(document).ready(function(){ $('html').addClass('js'); var contactForm = {
因此,在实现上一个问题的 jQuery 代码后,我注意到以下内容,每当人们添加位于显示较少/显示更多菜单中的产品时,系统会刷新页面,因为它会重新计算价格,因此也会刷新页面。但是当发生这种情况时,菜单会
我已经在 Windows 上设置了 mongodb 64bits。我成功运行了服务器和客户端。 但是当我输入时: show dbs 输出是 local 0.000GB 为什么? show dbs 应
正如标题所说,我有兴趣使用 Show a在我有 Show (a,b) 的情况下. GADT 很容易出现这个问题,如下所示: data PairOrNot a where Pair :: (b,c)
通常 julia> Base.show(io::IO, a::Int) = print(io, "xx") show (generic function with 98 methods) julia>
通常 julia> Base.show(io::IO, a::Int) = print(io, "xx") show (generic function with 98 methods) julia>
我找不到关于 Readline 选项 show-all-if-ambiguous 和 show-all-if-unmodified 之间区别的明确解释,以及是否它们影响不同的事物或相互排斥。关于这个主
我是 BeautifulSoup 的新手,我遇到了一些我不明白的问题,我认为这个问题可能尚未得到解答,但在这种情况下,我找到的答案都没有帮助我。 我需要访问 div 的内部以检索网站的词汇表条目,但是
我已经为 iOS 10 实现了新的小部件,并使用以下代码为其设置高度: @available(iOSApplicationExtension 10.0, *) func widgetActiveDis
克隆远程 git 存储库并发出 git show --show-signature 后,它说签名是好的。然后我更改了一些文件并测试了相同的命令,它仍然说签名是好的。 上面的命令到底检查了什么?验证克隆
我陷入了这个问题,而且我对 Haskell 很陌生,我试图用以下代码完成第一个欧拉问题: main = putStrLn . show . sum $ [3,6..1000]:[5,10..1000]
我有一个独立的 Android 和 iOS 应用程序。 目前正在 Android 上测试推送通知。 我已经使用以下通知键设置了我的 app.json "notification":{ "i
我所说的示例:http://jsfiddle.net/bsnxp/1/ 如果你检查源 .show().clone() display 是 inline-block (它应该是什么)并且 .clone(
我正在使用下面的 jQuery 代码来显示/隐藏网页上的额外文本 jQuery.fn.shorten = function(settings) { var config = { showC
我有一个带有 ng-show 的 div。这个 div 是我创建的自定义指令的包装器。 HTML JS function myDirective() { function doS
我是一名优秀的程序员,十分优秀!