Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.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
realm是否支持iOS中的限制查询?_Ios_Iphone_Swift_Realm - Fatal编程技术网

realm是否支持iOS中的限制查询?

realm是否支持iOS中的限制查询?,ios,iphone,swift,realm,Ios,Iphone,Swift,Realm,我在我的项目中本地存储电话通讯录中的联系人列表,为此我使用了realm db,现在的问题是获取一批联系人(如分页)。所以考虑使用limit查询来实现它。但没有使用领域限制查询的示例。有没有其他方法可以在领域中进行分页 在swift的文档站点()中,他们说 由于Realm中的查询是惰性的,所以根本不需要执行这种分页行为,因为Realm只会在显式访问查询结果后从中加载对象 如果出于与UI相关或其他实现原因,您需要查询中的特定对象子集,那么只需获取结果对象,然后只读取所需的对象即可 所以你只需要简单地

我在我的项目中本地存储电话通讯录中的联系人列表,为此我使用了realm db,现在的问题是获取一批联系人(如分页)。所以考虑使用limit查询来实现它。但没有使用领域限制查询的示例。有没有其他方法可以在领域中进行分页

在swift的文档站点()中,他们说

由于Realm中的查询是惰性的,所以根本不需要执行这种分页行为,因为Realm只会在显式访问查询结果后从中加载对象

如果出于与UI相关或其他实现原因,您需要查询中的特定对象子集,那么只需获取结果对象,然后只读取所需的对象即可

所以你只需要简单地得到所有,并处理你需要的东西。来自文档站点的示例

// Loop through the first 5 Dog objects
// restricting the number of objects read from disk
let dogs = try! Realm().objects(Dog.self)
for i in 0..<5 {
    let dog = dogs[i]
    // ...
}
//遍历前5个Dog对象
//限制从磁盘读取的对象数
让狗试试!Realm().objects(Dog.self)

他们说,在斯威夫特的文档站点()中,0中的i.

由于Realm中的查询是惰性的,所以根本不需要执行这种分页行为,因为Realm只会在显式访问查询结果后从中加载对象

如果出于与UI相关或其他实现原因,您需要查询中的特定对象子集,那么只需获取结果对象,然后只读取所需的对象即可

所以你只需要简单地得到所有,并处理你需要的东西。来自文档站点的示例

// Loop through the first 5 Dog objects
// restricting the number of objects read from disk
let dogs = try! Realm().objects(Dog.self)
for i in 0..<5 {
    let dog = dogs[i]
    // ...
}
//遍历前5个Dog对象
//限制从磁盘读取的对象数
让狗试试!Realm().objects(Dog.self)

对于0..中的i,您不需要自行实现获取批次。“域中的所有查询(包括查询和属性访问)都是惰性的。只有在访问属性时才会读取数据。”


因此,您的查询速度非常快,但访问数据本身的速度不如使用数组快。

您不需要像使用数组那样自行实现获取批处理。“域中的所有查询(包括查询和属性访问)都是惰性的。只有在访问属性时才会读取数据。”


因此,您的查询非常快,但访问数据本身的速度不如使用数组快。

是的,realm很快,但我需要将这些记录发送到服务器,因为我想将本地数据库中的记录合并成批。例如,假设我的本地数据库中有1000条记录,那么我想以100条为一批将它们全部发送到我的服务器,因此每次100条记录将同步到我的服务器。只需从结果中检索前100个对象并发送它们
let results:results=realm.objects(YourObject.self)
var dataArray:[YourObject]=[]
对于0中的i..
}
//发送API请求
是的,域很快,但我需要将这些记录发送到服务器,因为我想将本地Db中的记录合并成批。例如,假设我的本地数据库中有1000条记录,那么我想以100条为一批将它们全部发送到我的服务器,因此每次100条记录将同步到我的服务器。只需从结果中检索前100个对象并发送它们
let results:results=realm.objects(YourObject.self)
var dataArray:[YourObject]=[]
对于0中的i..
}
//发送API请求