我有一个表格视图,我希望填充存储在parse.com中的数据。
但是我的表视图中没有任何内容加载。我做了几个断点和NSLog,发现我的numberOfRowsInSection方法总是返回0。
这是我的代码:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
int num = [_totalDistance count];
NSLog(@"num = %d", num);
return [_totalDistance count];
}
activityTypeArray是从我在viewDidLoad方法中从parse.com收集的数据中填充的,这可能是问题所在吗?
这是填充_totalDistance的地方:
- (void)viewDidLoad
{
_activityTypeArray = [NSMutableArray array];
_totalDistance = [NSMutableArray array];
PFQuery *activityQuery = [PFQuery queryWithClassName:@"Activities"];
[activityQuery whereKey:@"triathlete" equalTo:[PFUser currentUser]];
[activityQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for (PFObject *object in objects) {
;
NSString *activityType = [object objectForKey:@"activityType"];
[_activityTypeArray addObject:activityType];
NSString *totalDistance = [object objectForKey:@"totalDistance"];
[_totalDistance addObject:totalDistance];
NSLog(@" total distance %@", _totalDistance);
int num = [_activityTypeArray count];
NSLog(@"num = %d", num);
}
}
}];
}
由于
答案 0 :(得分:2)
修改代码以重新加载tableView数据。否则你的tableView不知道你有数据要显示。
[activityQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
for (PFObject *object in objects) {
;
NSString *activityType = [object objectForKey:@"activityType"];
[_activityTypeArray addObject:activityType];
NSString *totalDistance = [object objectForKey:@"totalDistance"];
[_totalDistance addObject:totalDistance];
NSLog(@" total distance %@", _totalDistance);
int num = [_activityTypeArray count];
NSLog(@"num = %d", num);
// line added
[self.tableView reloadData];
}
}
}];
答案 1 :(得分:1)
您正在记录另一个值(_activityTypeArray计数)而不是您返回的结果(_totalDistance count)
所以NSLog语句无法帮助