Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.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
Parse platform 为用户/内容关系适当使用关系_Parse Platform - Fatal编程技术网

Parse platform 为用户/内容关系适当使用关系

Parse platform 为用户/内容关系适当使用关系,parse-platform,Parse Platform,我有一个用户类和一个点类 在用户类中,有几个关系可以跟上用户与点的交互,包括MarkedAsRead、up-Vote和DownVote 读取点的打印颜色与新点不同。 当我想要绘制点时,我从point类以及的MarkedAsRead关系中进行查询,以创建两个唯一的数组。 然后比较这两个数组-搜索并删除用户已从我的points数组中读取的点,以创建和未读取的数组。 然后我用各自的颜色将未读数组和已标记数组绘制到地图上 毫不奇怪,在客户端比较这两个阵列的过程花费了大量时间,并且降低了我的应用程序的速度

我有一个用户类和一个点类

在用户类中,有几个关系可以跟上用户与点的交互,包括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个项,因为这是查询限制。你能展示一下你是如何进行比较的吗?在原始帖子中添加了代码。