【问题标题】:PFQuery includeKey on array of dictionaries.PFQuery includeKey 字典数组。
【发布时间】:2015-11-04 11:22:01
【问题描述】:

我有一个带有NSArray 列的parse 类,它是dictionariesarray,在dictionary里面我有一个key 和另一个类的pointer。我正在尝试使用includeKey,但它不起作用。我希望在不调用fetch 的情况下在pointers 中获得objects,因为有很多,requests 可以轻松上升。

我正在使用:[query includeKey:@"ingredients.item"]; Ingredients 是 dictionariesNSArray,它是主要对象中的一列。 item 是存储pointersdictionary 中的key

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

【问题讨论】:

    标签: objective-c dictionary parse-platform pfquery key-value-coding


    【解决方案1】:

    试试这个对你有帮助

    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
            }
        }
    }];
    

    【讨论】:

      【解决方案2】:

      include 仅适用于指针。它甚至不适用于指针数组。

      我首先要说明的一点是,除非您拥有大量活跃用户,否则您不会很快达到免费请求的目标。如果你是,你的应用程序应该足够盈利,这并不重要。

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

      【讨论】:

      • Include 确实适用于指针数组。我目前在我的项目中的指针数组上使用 includeKey,它工作得很好,不需要额外的获取。
      • 这在 iOS SDK 中的工作方式必须与在 JS SDK 中不同。在 JS 中,.include() 方法并没有为我检索到数组中的所有指针。我没有在 iOS 上测试过类似的功能。我直接拉数组并使用 PFObject fetchAll
      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多