从Parse.com类中提取数据并将其转换为NSArray

我正在使用以下查询从Parse.com类获取一些数据。

我想要做的是从NSArray rateObjects中提取Rating对象。 我怎么去做这个?

谢谢你的帮助

  PFQuery *rateQuery = [PFQuery queryWithClassName:@"Rating"]; [rateQuery whereKey:@"photo" equalTo:self.photo]; [rateQuery includeKey:@"photo"]; rateQuery.cachePolicy = kPFCachePolicyNetworkElseCache; rateQuery.limit = 20; [rateQuery findObjectsInBackgroundWithBlock:^(NSArray *rateObjects, NSError *error) { if( !error ) { NSLog(@"rateObject %@", rateObjects); } } ]; 

这是NSLog输出:

 rateObject ( "<Rating:w9ENTO29mA:(null)> {\n ACL = \"<PFACL: 0x1e0a5380>\";\n Rating = 4;\n fromUser = \"<PFUser:uV2xu0c3ec>\";\n photo = \"<Photo:Rv4qqrHUPr>\";\n toUser = \"<PFUser:uV2xu0c3ec>\";\n user = \"<PFUser:uV2xu0c3ec>\";\n}", "<Rating:t3pjtehYR0:(null)> {\n ACL = \"<PFACL: 0x1e0f9f90>\";\n Rating = 5;\n fromUser = \"<PFUser:uV2xu0c3ec>\";\n photo = \"<Photo:Rv4qqrHUPr>\";\n toUser = \"<PFUser:uV2xu0c3ec>\";\n user = \"<PFUser:uV2xu0c3ec>\";\n}" ) 

你的NSArray将包含PFObjects ,你可以用类似的方式处理字典。 在上面运行的查询中,您收到了两个评级对象。 如果这不是你想要的(你只想要一个单一的对象),你可能想重新审视你如何查询你的数据。

假设您在Parse中的Rating级别包含一个名为Rating的键,您可以像这样访问它:

[rateObject objectForKey:@"Rating"]

如果你喜欢,你也可以使用新的现代文字语法 – rateObject[@"rating"]

你需要迭代你的数组来查看所有返回的评级对象,所以你可能会得到这样的结果:

 for (id item in rateObjects) { int ratingVal = [[item objectForKey:@"Rating"] intValue]; NSLog(@"Rating: %d", ratingVal); } 

您可能会发现Parse的iOS文档很有帮助 – 如果您不确定上面的代码实际上做了什么,您可能需要查看一下数组以及它们在Objective-C中的工作方式。

尝试使用这个:

 [rateQuery findObjectsInBackgroundWithBlock:^(NSArray *rateObjects, NSError *error) { if( !error ) { NSMutableArray *data = [[NSMutableArray alloc]init]; [data addObjectsFromArray:rateObjects]; NSArray *rating_data = [data valueForKey:@"Rating"]; NSLog(@"%@",[rating_data objectAtIndex:0]); } } ]; 

我希望这能帮到您。