Parse Query返回空的NSArray

时间:2015-08-11 02:02:17

标签: ios objective-c parse-platform

我试图检索所有的“事件”'类PFObjects存储在我的主ViewController的viewDidLoad方法内的Parse数据库中。这是代码:

- (void)viewDidLoad {    

    [super viewDidLoad];

    self.tableView.scrollEnabled = NO;

    PFQuery *query = [PFQuery queryWithClassName:@"event"];

        [query findObjectsInBackgroundWithBlock:^(NSArray *events, NSError *error){
            if (error){
                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error" message:[error.userInfo objectForKey:@"error"] delegate:nil cancelButtonTitle:@"Ok" otherButtonTitles:nil];

                [alertView show];
            } else {
                self.calendarTable = [[NSMutableDictionary alloc] init];
                self.currentDay = [[NSMutableArray alloc] init];
                NSLog(@"%@", events);
                for (PFObject *event in events) {
                    NSLog(@"Test");
                    NSLog(@"%@", event[@"Time"]);
                    NSString *date = event[@"Time"];

                    if (self.calendarTable[date]){
                        [self.calendarTable[date] addObject:event];
                    } else {
                        self.calendarTable[date] = [[NSMutableArray alloc] init];
                        [self.calendarTable[date] addObject:event];
                    }
                }

                NSArray *keys = [self.calendarTable allKeys];
                self.cronKeys =  [keys sortedArrayUsingComparator: ^(NSString *d1, NSString *d2) {
                    NSDate *date1 = [NSDate dateFromString:d1];
                    NSDate *date2 = [NSDate dateFromString:d2];
                    return [date1 compare:date2];
                }];
                NSLog(@"%@", self.cronKeys);
                NSLog(@"%@", keys);
                [self.tableView reloadData];
                self.tableView.scrollEnabled = YES;
            }
        }];
}

我已经仔细检查过以确保我拥有正确的ApplicationID和Clientkey,并且在运行应用程序时没有收到任何错误 - 相反,当我对阵列进行NSLog时我也是从查询中回来,它是空的。我知道事实上有14个事件'解析我试图访问的数据库中存在的对象。

非常感谢任何帮助!谢谢! 〜Psycode

1 个答案:

答案 0 :(得分:0)

终于找到了我的答案 - 它与代码没有任何关系,因为代码在连接到Parse和检索数据方面完全合理。问题是以某种方式将对象保存在Parse数据库中;一旦创建了对象,我就犯了一个错误,即通过Web浏览器进入数据库并为14个对象中的每一个更改一个字段。由于某种原因,我不太明白,这导致对象无法访问。