Atenção: o controle atinge o fim da function não-vazia – iPhone

Eu continuo recebendo ‘aviso: o controle atinge o fim da function não-vazia’ com este código:

- (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]; 

Como posso me livrar desse aviso?

Obrigado.

Adicione um return 0; no final do seu método. É basicamente uma prova de falhas, se nenhuma das condições forem atendidas.

Se você quiser ter certeza de que uma das condições seja atendida, return -1; deve fazer com que o aplicativo lance uma exceção e uma falha, o que pode ajudá-lo a rastrear erros.

Você também pode procurar modificar este método e replace as instruções if por uma tree de switch-case . Com uma tree de switch-case , você pode facilmente adicionar novas seções e reorganizar seu pedido em um UITableView . O código se torna trivialmente fácil de ler usando convenções de nomenclatura sensatas.

É muito fácil; Fraser Speirs tem uma boa explicação sobre como configurar isso .

Uma opção:

 - (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]; }