【发布时间】:2016-12-09 02:03:57
【问题描述】:
我有一个 Realm 对象(我们称之为文件),它带有一个名为 url 的字符串属性。
我创建了一个 Alamofire DownloadRequest.DownloadFileDestination 块,其中包含对 url 的引用,因此我可以下载该文件。然而,因为这个块是在后台线程上执行的,Realm 会抛出一个异常。我不需要实际访问整个 Realm,甚至整个 File 对象——只需要属性url——所以没有理由尝试在后台线程中从 Realm 打开 File 对象。
将这个字符串(或其他类型的属性)复制出 Realm 对象以传递给不同线程的正确方法是什么?
我目前的解决方案似乎很不优雅——尽管它确实有效。
let url = "\(object.url)"
这个问题与特定的代码块无关——它更像是一个概念性问题。
【问题讨论】:
-
请更具体地说明您的类型。
url的类型是Swift的String吗?如果是这样,那是一个值类型,那么“引用”它是什么意思?
标签: ios swift multithreading realm