我正在尝试将数据从Parse转换为NSArray。这是我的代码:
PFQuery *query = [PFQuery queryWithClassName:@"Messages"];
[query orderByDescending:@"createdAt"];
[query includeKey:@"message"];
[query whereKey:@"Reciever" hasPrefix:@"jbokwxguy"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"Successfully retrieved %d scores.", objects.count);
// Do something with the found objects
for (PFObject *object in objects) {
NSLog(@"%@", object.objectId);
PFObject *post = object[@"body"];
NSLog(@"retrieved related post: %@", post);
}
} else {
// Log details of the failure
NSLog(@"Error: %@ %@", error, [error userInfo]);
}
}];
_messages = [[NSArray alloc] initWithObjects:
@"Hello, how are you.",
@"I'm great, how are you?",
@"I'm fine, thanks. Up for dinner tonight?",
@"Glad to hear. No sorry, I have to work.",
@"Oh that sucks. A pitty, well then - have a nice day.."
@"Thanks! You too. Cu soon.",
nil];
[super awakeFromNib];
}
我正在尝试从以下位置获取帖子数据:
NSLog(@"retrieved related post: %@",post);
进入_messages,这是一个NSArray。我正在创建一个简单的聊天应用程序,这是我唯一的绊脚石。谢谢你的帮助!
答案 0 :(得分:0)
快速了解您的代码看起来不错。我可以假设查询返回空...在假设您的代码被破坏之前检查查询结果...尝试:
[query whereKey:@"Reciever" hasPrefix:@"jbokwxguy"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSLog(@"Array: %@", objects);
}];
如果此代码显示控制台中的对象,则设置为...如果不是,则错误应该在查询中:
提示:也许" hasPrefix:@" jbokwxguy"];"返回零结果? 也可能是" Reciever"应该拼写" Receiver" ???
如果您没有获得结果,请尝试删除查询约束并尝试获取所有对象并从那里开始......
您还可以尝试使用objects.count来查看数组中有多少个对象。
请注意,您要回来了:PFObject ......所以您可能需要深入了解内容......
BTW:作为聊天应用。也许这种方法不是那里最好的解决方案..它可能很慢......它可以作为一个评论系统,但对于聊天,整个解析数据库的事情......可能太慢,无法进行可靠的聊天..任何这只是我的意见!您可以查看一些IP流媒体解决方案......
评论更新: (我无法发表评论,所以我会在这里更新我的答案):
你将得到一个PFObject的NSArray ..所以为了检索你的帖子的内容,你需要从PFObject中获取属性......你应该通过所有PFObject迭代并提取"主体"来自PFOBject的财产如下:
[query whereKey:@"Reciever" hasPrefix:@"jbokwxguy"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
for (PFObject *object in objects) {
NSString *post = [object objectForKey:@"body"];
NSLog(@"retrieved related post: %@", post);
}
}];
如果它没有给你带来" BODY"检查你的拼写和"身体的存在"解析数据库中的字段。
**如果这回答了您的问题,请将答案标记正确。它帮助我继续帮助其他人。谢谢!