如何使用 swift 使用 Relationship 在 Parse Server 上检索图像

How to use Relationship to retrieve image on Parse Server using swift

解析新手,我浏览了文档但我没有掌握关系的概念...

我有一对多关系(产品 -> 多种颜色变化)。

在解析时,在我的 class "product" 下,我有以下列: 品牌、尺码、价格、颜色。

颜色单元格是一个挂钩到 "color" class 的关系,其中包含: Color_Name、Color_Image(作为文件)。

如何访问 color_name 和 color_image?我正在使用下面的代码,但返回 nil。

func searchCategoryItems(){

categoryType = "basketball"

let query:PFQuery = PFQuery(className: "products")
                query.includeKey("color")
                let productQuery = query.whereKey("type", equalTo:self.categoryType)

                productQuery.findObjectsInBackgroundWithBlock {
                    (objects, error) -> Void in

                    for object in objects! {
                        let brandName:String? = (object as PFObject)["brand"] as? String
                        let itemName:String? = (object as PFObject)["item_name"] as? String
                        let sku:String? = (object.objectId! as String)
                        let colors:String? = (object as PFObject)["color_name"] as? String
                        if colors != nil{
                        self.productColorArray.append(colors!)
                        print("colors work?", colors)
                        }

                        if brandName != nil {
                            self.productBrandArray.append(brandName!)
                        }
                        if itemName != nil{
                            self.productItemNameArray.append(itemName!)
                        }
                        if sku != nil{
                            self.productSkuArray.append(sku!)
                        }


                    }

                    self.searchTableView.reloadData()
                }
                self.searchTableView.insertRowsAtIndexPaths([NSIndexPath(forRow:0,inSection:0)], withRowAnimation: UITableViewRowAnimation.Automatic)
            }
    }

我的解析仪表板是这样设置的:

您需要进行额外的关系查询。

let product = ...//specify a product. e.g. object in objects
let relation = product.relationForKey("color")
let innerQuery = relation.query()
//then executing the innerQuery