我正在使用iOS和Parse的消息传递应用程序,并且在Parse查询返回缺少参数的对象时遇到问题。让我解释一下。
我创建了自定义用户对象。名为MessageUserPFObjects的用户对象具有指向PFUser的指针字段。
我还有一个名为MessagePFObjects的自定义消息对象。 MessagePFObject有一个指向消息发送者和消息接收者的指针字段。消息发送方和接收方都是MessageUserPFObjects。
我在Parse中创建PFUsers,MessageUserPFObjects和MessagePFObjects没有任何问题。我可以看到所有字段都填充在Core中。
当我查询MessagePFObjects时,我的问题出现了。我正在查询任何具有特定MessageUserPFObject作为消息发送者或接收者的消息。我返回了所有MessagePFObjects,但消息接收器的MessageUserPFObject没有任何属性。这是查询以及生成的print语句。
//注意self.currentMessageUser是一个MessageUserPFObject
let predicate = NSPredicate(format: "messageSender == %@ OR messageReceiver == %@", self.currentMessageUser!, self.currentMessageUser!)
let query = MessagePFObject.queryWithPredicate(predicate)
query!.findObjectsInBackgroundWithBlock ({ (result, error) -> Void in
if result!.count > 0
{
for element in result!
{
let tempMessage = element as! MessagePFObject
print("I am printing the messageSender returned from Parse \(tempMessage.messageSender)")
print("I am printing the messageReceiver returned from Parse \(tempMessage.messageReceiver)")
}
}
打印结果
我正在打印从Parse返回的messageSender {accountClaimed = 1; firstName =汤姆; lastName =汉森; numberOfMessagesReceived = 0; numberOfMessagesSent = 0; messageUser =“”; }
我正在打印从Parse返回的messageReceiver {}
非常感谢任何帮助。
答案 0 :(得分:2)
将此添加到您的查询中,以确保用户对象包含在Parse
的提取中query.includeKey("messageSender")
query.includeKey("messageReceiver")