cellForRowAtIndexPath
- это метод UITableViewDataSource
, который запрашивает данные только для одной ячейки.Таким образом, вы должны удалить цикл и настроить одну ячейку сразу, используя indexPath.row
в качестве индекса массива в вашем DataSingleton
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell = [[CustomCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier];
}
//Set Up Cell
DataSingleton *sharedData = [DataSingleton sharedData];
NSArray *array = [sharedData.usersArray objectAtIndex:indexPath.row];
cell.primaryLabel.text = [array objectAtIndex:1];
cell.secondaryLabel.text = [array objectAtIndex:2];
cell.profileImage = [UIImage imageNamed:@"111-user.png"];
return cell;
}
Также вы должны реализовать tableView:numberOfRowsInSection:
для возврата[[[DataSingleton sharedData] usersArray] count]