Parse platform 为用户/内容关系适当使用关系
我有一个用户类和一个点类 在用户类中,有几个关系可以跟上用户与点的交互,包括MarkedAsRead、up-Vote和DownVote 读取点的打印颜色与新点不同。 当我想要绘制点时,我从point类以及的MarkedAsRead关系中进行查询,以创建两个唯一的数组。 然后比较这两个数组-搜索并删除用户已从我的points数组中读取的点,以创建和未读取的数组。 然后我用各自的颜色将未读数组和已标记数组绘制到地图上 毫不奇怪,在客户端比较这两个阵列的过程花费了大量时间,并且降低了我的应用程序的速度 有人有什么建议吗?我应该以不同的方式构建我的数据库吗?我是否错误地使用了关系? 我应该创建一个未读的关系吗?如果是这样的话,最好的方法是什么Parse platform 为用户/内容关系适当使用关系,parse-platform,Parse Platform,我有一个用户类和一个点类 在用户类中,有几个关系可以跟上用户与点的交互,包括MarkedAsRead、up-Vote和DownVote 读取点的打印颜色与新点不同。 当我想要绘制点时,我从point类以及的MarkedAsRead关系中进行查询,以创建两个唯一的数组。 然后比较这两个数组-搜索并删除用户已从我的points数组中读取的点,以创建和未读取的数组。 然后我用各自的颜色将未读数组和已标记数组绘制到地图上 毫不奇怪,在客户端比较这两个阵列的过程花费了大量时间,并且降低了我的应用程序的速度
NSMutableIndexSet *indexesToDelete = [NSMutableIndexSet indexSet];
for (NSInteger i = 0; i < [readPoints count]; i++)
{
Point *point = readPoints[i];
point.isRead = YES;
for (NSInteger j = 0; j < [Points count]; j++)
{
Point *otherPoint = Points[j];
otherPoint.isRead = NO;
if ([point.objectId isEqualToString:otherPoint.objectId])
{
[indexesToDelete addIndex:j];
}
}
}
[Points removeObjectsAtIndexes:indexesToDelete];
在客户端比较数组应该非常快,因为每个数组中最多有1000个项,因为这是查询限制。你能展示一下你是如何进行比较的吗?在原始帖子中添加了代码。