В методе источника данных tableView:numberOfRowsInSection:
получите количество строк как обычно.Затем, если число равно 0, верните 1 вместо.В методе tableView:cellForRowAtIndexPath:
выполните тот же тест.Если данных нет, используйте другую ячейку и настройте ее для своего сообщения.
В следующем примере предполагается, что у вас есть 1 раздел и ваши данные являются переменной экземпляра NSArray с именем theArray
, которая содержит строки.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
NSInteger num = theArray.count;
return (num ? num : 1);
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell;
if(theArray.count == 0) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
cell.textLabel.text = @"No Data Found";
return cell;
}
// Normal processing here
}