【发布时间】:2015-08-25 15:11:52
【问题描述】:
我的类Deal 中的对象有一个属性relatedContacts,它是一个指向Contact 对象的指针数组。在删除Contact 之前,我正在运行以下查询以确定当前Contact 对象是否是任何Deal 中的指针的目标。
let relatedContactObjects:NSArray = [self.contactObject] as NSArray
let relatedContactQuery:PFQuery = PFQuery(className: "Deal")
relatedContactQuery.fromLocalDatastore()
relatedContactQuery.fromPinWithName("Deals")
relatedContactQuery.whereKey("user", equalTo: PFUser.currentUser()!)
relatedContactQuery.whereKey("relatedContacts", containsAllObjectsInArray: relatedContactObjects as [AnyObject])
但是,这会返回解析错误 102:“$all 查询不支持值类型。”
Parse documentation 说 containsAllObjectsInArray 采用 NSArray,但 Xcode 显示警告 NSArray is not implicity convertible to [AnyObject]。
有什么想法可以让这个查询工作吗?
编辑:我查看了relatedContacts的内容,似乎每个实例都包含一个字典数组,例如:[{"__type":"Pointer","className":"Contact","objectId":"BoLym053hX"},{"__type":"Pointer","className":"Contact","objectId":"AgpnxAFUBn"},{"__type":"Pointer","className":"Contact","objectId":"ob20tThdfp"}]
按照建议,我还查看了containedIn 查询约束,但它用于标识给定数组中包含的对象。我正在尝试识别包含给定对象的数组。
【问题讨论】:
-
在顶部你有relatedContactObjects 作为一个NSArray,你为什么要把它转换成[AnyObject]?
-
Xcode 要求将其强制转换为 [AnyObject],但实际上我认为这不是问题所在。请查看我更新的问题。
-
不要认为该方法支持kind of thing。你可能想试试
containedInThis question may help. -
谢谢,但该约束用于识别给定数组中包含的对象。我正在尝试识别包含给定对象的数组。
标签: ios swift parse-platform