我想在UITableViewController中显示一些数组。我有一个NIB自定义单元格。我遇到的问题是在我的数组加载到我的ViewDidLoad
之前,我的表行试图填充。设置断点显示,正在创建我的表行,然后直接后,我的阵列给定的值(这是在把我的ViewDidLoad
。tableView cellForRowAtIndexPath:在ViewDidLoad之前运行?
谁能告诉我,为什么tableView
方法是ViewDidLoad
之前运行?我需要做什么来做,以确保被填充表行之前,我的数组装载
这里是我的ViewDidLoad
:
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"go");
PFQuery *getCartQuery = [PFQuery queryWithClassName:@"chwCart"];
[getCartQuery whereKey:@"userId" equalTo:[PFUser currentUser].objectId];
[getCartQuery whereKey:@"status" equalTo:@"open"];
[getCartQuery getFirstObjectInBackgroundWithBlock:^(PFObject *currentCartObject, NSError *error) {
// NSLog([currentCartObject objectId]);
currentCart = [currentCartObject objectForKey:@"cartContents"];
dictFoodId = [currentCart valueForKey:@"foodId"];
dictQty = [currentCart valueForKey:@"qty"];
}];
NSLog(@"Should be loaded");
[self.tableView registerNib:[UINib nibWithNibName:@"foodCell" bundle:nil] forCellReuseIdentifier:@"foodCell"];
}
这里是我的tableView cellForRowAtIndexPath:
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"foodCell";
foodCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
if (cell == nil) {
cell = [[foodCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
}
cell.foodTitle.text = [dictQty objectAtIndex:indexPath.row];
return cell;
}