Я продолжаю получать 'предупреждение: управление достигает конца непустой функции' с этим кодом:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section ==0)
{
return [comparativeList count];
}
if (section==1)
{
return [generalList count];
}
if (section==2)
{
return [contactList count];
Как я могу избавиться от этого предупреждения?
Спасибо.
Добавьте return 0;
в конце вашего метода. По сути, это защитная строка, если ни одно из условий if
не выполнено.
Если вы хотите убедиться, что одно из условий выполнено, return -1;
должен вызвать исключение и аварийное завершение работы приложения, что может помочь вам отследить ошибки.
Вы также можете изменить этот метод и заменить утверждения if
на дерево switch-case
. С помощью дерева switch-case
вы можете очень легко добавлять новые секции и изменять их порядок в UITableView
. Код становится тривиально легким для чтения благодаря использованию разумных соглашений об именовании.
Это действительно просто; у Фрейзера Спейрса есть хорошее объяснение того, как это настроить.
Один вариант:
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
if (section ==0) {
return [comparativeList count];
} else if (section==1) {
return [generalList count];
}
// section == 2
return [contactList count];
}