【发布时间】:2015-04-23 21:16:35
【问题描述】:
所以我目前遇到了一个问题,我需要从我的 parse.com 数据库中检索一组用户。我有一个 objectIds 数组,我想查询这些数组以获得这些结果。
我在互联网上到处搜索,不幸的是没有一个解决方案有效。
我尝试创建一个查询键“objectId”的 PFQuery,但由于某种原因这不起作用(对于任何对象类型)。
这个链接里还有一个建议:Suggestion Link On Parse Forums
我将我的 swift 代码设置为类似于此,但我只是从 parse 接收空白 PFUsers。我调试了一下,似乎我的 for 循环中没有一个“伙伴”对象是用 objectIds 创建的。如您所见,我什至尝试手动设置它们。
我不知道我是否要解决这个问题,或者我的语法是错误的。任何帮助,将不胜感激。谢谢!
func queryForPartners(partnerIds : [NSString])
{
var query = PFQuery(className: "User")
var tempArrayOfObjects : [PFObject] = []
for partnerId in partnerIds
{
var partner: PFUser = PFUser.objectWithoutDataWithObjectId(partnerId as String)
partner.objectId = partnerId as String
tempArrayOfObjects.append(partner)
}
PFUser.fetchAllInBackground(tempArrayOfObjects, block: { (objects, error) -> Void in
if error == nil {
// The find succeeded.
println("Successfully retrieved \(objects!.count) Users.")
self.usersForCells.removeAll(keepCapacity: false)
if let objects = objects as? [PFUser] {
for object in objects {
self.usersForCells.append(object)
}
}
} else {
// Log details of the failure
println("Error: \(error) \(error!.userInfo!)")
}
})
}
【问题讨论】:
-
你如何测试他们是空白用户?是否返回任何错误?
-
空白用户的意思是,当我单步调试调试器时,我会在“tempArrayOfObjects.append(partner)”这一行暂停,在我的 PFObject 中,我会查看其中的所有不同值对象,它们都没有任何值。特别是 objectId,我认为它是在创建对象时设置的,或者当我在上面的行手动设置时。
-
你在对象上给
objectForKey:打电话了吗? -
你能描述一下你的意思吗?我不熟悉该功能的工作原理。
标签: ios swift parse-platform