Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 对于只读域,是否每次使用时都需要引用路径?_Ios_Swift_Realm - Fatal编程技术网

Ios 对于只读域,是否每次使用时都需要引用路径?

Ios 对于只读域,是否每次使用时都需要引用路径?,ios,swift,realm,Ios,Swift,Realm,我有一个预加载的只读领域数据库,它位于主捆绑包中 我是否需要为我提出的每个查询引用该路径,或者是否有更简单的方法 //Locate database let localRealmPath = NSBundle.mainBundle().pathForResource("dogs", ofType: "realm")! let realm = RLMRealm(path: localRealmPath, readOnly: true, error: nil) let d

我有一个预加载的只读领域数据库,它位于主捆绑包中

我是否需要为我提出的每个查询引用该路径,或者是否有更简单的方法

//Locate database
    let localRealmPath = NSBundle.mainBundle().pathForResource("dogs", ofType: "realm")!

    let realm = RLMRealm(path: localRealmPath, readOnly: true, error: nil)

    let dog = Dog.objectsInRealm(realm, "name = 'Pat'").firstObject() as Dog

谢谢

您不需要为每个查询实例化/检索新的
RLMRealm
实例。您可以为任意数量的任意读取操作重用只读域。只需确保您没有从不同的线程访问
RLMRealm
实例。

Hey fisher是的,您每次都必须引用它,这样您就有了正确的领域。你能分享一些你认为最理想的使用领域的方法吗?谢谢你提供的信息!如果有一个标签功能就太棒了。假设您可以使用名称或标记引用领域。所以你可以用“RLMRealm.realmWithTag(“Dogs”)”来理解它。但是当路径未知时,这可能很难实现。我认为这会很棘手,因为我们需要找到一种方法来设置与该标记相关的正确路径,正如您所提到的。正如马吕斯在下面提到的,只要你不是从不同的线程访问这个领域,你就可以将它们存储在你的属性中。谢谢!我为这个领域制作了一个lazy变量,它工作良好,可以在ViewController的范围内重用。但我必须在每一个我需要获取的VC中都做到这一点。但这没什么大不了的,只是想看看是否有更简单的选择:)!