我正在使用以下查询从Parse.com类获取一些数据。
我想做的是从Rating
rateObjects中提取NSArray
对象。我将如何去做呢?
谢谢你的帮助
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 documentation很有帮助-如果不确定上面的代码实际上是做什么的,则可能需要查看数组以及它们在Objective-C中的工作方式。
关于ios - 将数据从Parse.com类提取到NSArray中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16958939/