我想通过推送通知直接发送PFObject
。我直接在推送内发送Parse对象(例如使用自定义键“arg”)但我无法弄清楚如何从接收的数据构造真实的PFObject
。收到的数据(显然)是NSDictionary
,所有密钥(对象ID,创建时间,ACL等)都可用。如何将其转换为PFObject
实例?
我需要一个真正的方法来构造一个包含可用数据的PFObject
,所以不要带有明显的解决方案,比如“发送对象ID,然后在客户端获取该对象Parse的方法。“我已经知道这个显而易见的解决方案,但它的时间/带宽/配额效率低,因为它需要一个新的查询,而我仍然可以在该查询中获得所需的一切。
我正在寻找一种自动方式,如果有的话。我的目标是iOS 8,因此最大推送有效负载大小也不是问题(2KB对我来说已经足够了)。
更新:我已尝试[PFObject objectWithClassName:@"MyClassName" dictionary:receivedDictionaryObject];
但无济于事。它只是不起作用,字段为nil
,即使字典中的所有数据都直接来自Parse本身。
答案 0 :(得分:0)
我认为你可以使用这样的东西
+ (PFObject *)objectFromDictionary:(NSDictionary *)dictionaryFromPush{
PFObject *theObject = [[PFObject alloc] initWithClassName:@"MyClassName"];
for( NSString *keys in [dictionaryFromPush allKeys] )
{
[theObject setObject:[dictionaryFromPush objectForKey:keys] forKey:keys];
}
return theObject;
}
这是一个未经测试的代码,但我非常肯定会给你和我的想法,从Push获取NSDcitionary并将其发送到此方法,以便能够将其转换为PFObject
希望这个帮助