2015-11-04 20 views
1

我有一个parse类与NSArray柱,它是dictionaries一个array,并且dictionary内我有一个pointer到另一个类key。我正在尝试使用includeKey,但它不起作用。我希望pointersobjects没有呼吁fetch,因为有很多,requests可以轻松上升。字典数组上的PFQuery includeKey。

我正在使用:[query includeKey:@"ingredients.item"];成分是NSArraydictionaries,它是主要对象中的一列。项目是dictionary中的key,其存储pointers

[{"item":{"__type":"Pointer","className":"NutricaoCatalogo","objectId":"aTnHD5ttUH"},"ingredientTitle":"Clara De Ovo Natural","portionIndex":"1","portionQuantity":200}, 

回答

0

试试这个,它可以帮助你

PFQuery *query = [PFQuery queryWithClassName:@"ingredients"]; 
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) { 

    if (!error && objects) { 
     for(int i = 0; i < objects.count; i++) { 
      PFObject *object = [objects objectAtIndex:0]; 
      PFObject *pointer = [[object valueForKey:@"item"] valueForKey:@"__type"]; 

      PFObject *obj = [PFQuery getObjectOfClass:@"<classname of that pointer points to>" objectId:(NSString *)pointer]; 

      //obj is an object of that pointer so you can manupulate accordingly 
      //Note: getObjectOfClass: objectId: method run on main thread 
     } 
    } 
}]; 
0

包括只适用于指针。它甚至不能在指针数组上工作。

我想首先提出的一点是,除非您有大量的活跃用户,否则您不会马上获得免费请求。如果你是,你的应用程序应该足够盈利,无所谓。

我最好的解决方案是调用一个执行query.each()的后台作业,并取出所有想要获取的对象id,然后返回objectIds数组。然后,您可以查询ID为containedIn该数组的所有对象。

+1

包含对指针数组起作用。我在我的项目中的指针数组上使用了includeKey,它工作的很好,不需要额外的读取。 – Shayno

+0

这在iOS SDK中的工作方式与JS SDK中的不同。在JS中,.include()方法没有检索到我的数组中的所有指针。我还没有在iOS上测试过类似的功能。我直接拉数组并使用PFObject fetchAll –