【发布时间】:2013-10-08 08:45:47
【问题描述】:
我正在使用 Parse.com 在我的应用程序中存储数据。 我在 Parse 上有一个名为 TestScore 的课程。其中有测试、分数和用户名字段。 现在我想获得前 5 名得分手并将它们保存到 NSUserDefaults 中。 这是我的代码
PFQuery *query = [PFQuery queryWithClassName:@"TestScore"];
[query whereKey:@"test" equalTo:test];
[query orderByDescending:@"score"];
query.limit = 5;
NSMutableArray *top5Array = [[NSMutableArray alloc] init];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error)
{
if (!error)
{
NSMutableArray *score = [[NSMutableArray alloc] init];
NSMutableArray *userName = [[NSMutableArray alloc] init];
for (PFObject *object in objects)
{
[score addObject:[object valueForKey:@"score"]];
[userName addObject:[object valueForKey:@"userName"]];
}
[top5Array addObject:score];
[top5Array addObject:userName];
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:top5Array forKey:@"Top5"];
[userDefaults synchronize];
}
else
{
NSLog(@"Error while getting top 5 Scorers.");
}}];
但是,不幸的是它不起作用。我通过它进行了调试,实际上控制并没有进入查询块。 谁能帮忙,拜托!
【问题讨论】:
-
您是否在您的应用中成功地尝试了 Parse 的其他查询?
-
请记住,代码在后台运行在单独的线程中,因此实际进入块可能需要一段时间。你在你的应用委托中做了 [Parse setClientId:applicationId:] 吗?
-
@pixelcdv 是的,我之前已经成功尝试过一些查询。
-
@Eric Amorde 是的,我确实设置了 AppID 和 ClientKey
-
查看您的代码,它应该可以工作。我想到的是
test与您要查询的 Parse 类的键的数据类型不同。此外,在您的块中,验证objectsNSArray 是否包含以下内容:if (!error && [objects count]){}。
标签: objective-c ios7 parse-platform xcode5 pfquery