Obj-C, есть несколько таблиц, нужно быстро добавить код, чтобы сказать, что данные не найдены? - PullRequest
1 голос
/ 01 февраля 2011

У меня есть несколько представлений с UITableViews, и я хотел бы быстро добавить код к каждому, чтобы я мог добавить строку с простой меткой о том, что не было данных для отображения.немного усложняется то, что в некоторых случаях я использую пользовательские ячейки.

Я не хочу менять свои функции заполнения массива данных, но я не могу придумать способбыстро добавьте эту функцию на множество таблиц.

Может кто-нибудь показать мне, что делать?

1 Ответ

3 голосов
/ 01 февраля 2011

В методе источника данных 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...