получение ошибки - «управление достигает конца не пустой функции» - PullRequest
2 голосов
/ 07 января 2010

Привет, получая эту ошибку «контроль достигает конца не пустой функции» в строке с} на ней. Что я делаю неправильно? пожалуйста помогите

(NSString *)tableView:(UITableView *)tableView         titleForHeaderInSection:(NSInteger)section {
 NSLog(@"Here16");
 if (section == 0) {
  return @"A";
 }

 if (section == 1) {
  return @"B";
 }
 if (section == 2) {
  return @"C";
 }
 if (section == 3) {
  return @"D";
 }
 if (section == 4) {
  return @"E";
 }
 if (section == 5) {
  return @"F";
 }
 if (section == 6) {
  return @"G";
 }
 if (section == 7) {
  return @"H";
 }
 if (section == 8) {
  return @"I";
 }
 if (section == 9) {
  return @"J";
 }
 if (section == 10) {
  return @"K";
 }
 if (section == 11) {
  return @"L";
 }
 if (section == 12) {
  return @"M";
 }
 if (section == 13) {
  return @"N";
 }
 if (section == 14) {
  return @"O";
 }
 if (section == 15) {
  return @"P";
 }
 if (section == 16) {
  return @"Q";
 }

 if (section == 17) {
  return @"R";
 }
 if (section == 18) {
  return @"S";
 }
 if (section == 19) {
  return @"T";
 }
 if (section == 20) {
  return @"U";
 }
 if (section == 21) {
  return @"V";
 }
 if (section == 22) {
  return @"V";
 }
 if (section == 23) {
  return @"W";
 }
 //if (section==0) {
  //return @"X";
 //}
 if (section == 24) {
  return @"Y";
 }
 if (section == 25) {
  return @"Z";
 }

 //NSLog(@"%d", [listOfItems count]);



 NSLog(@"That whole error thing");
}

Ответы [ 4 ]

3 голосов
/ 07 января 2010

Если полученное вами письмо не входит в ваш выбор, возврата не будет. (Это может никогда не произойти, но это предупреждение ...)

Попробуйте добавить return nil; в конце вашего метода

2 голосов
/ 24 марта 2010

Почему бы не создать временную переменную для хранения значения, которое вы хотите вернуть, а затем вернуть эту переменную?

NSMutableString *theString = [NSMutableString stringWithString:@" "];    
if (section == 0)     
{      
  [theString setString:@"A"]    
}    
else if(section == 1)    
{    
  [theString setString:@"B"]    
}

.....etc.....

return theString;

Обратите внимание на использование Else If - в вашем существующем коде будут проверены все условия, что очень неэффективно. Если первое условие выполнено, ни одно из других условий не будет выполнено, поэтому использование Else If позволяет программе тратить время на их проверку.

Что в основном говорит мне, что вам нужно вернуться и заново изучить некоторые основы программирования.

1 голос
/ 07 января 2010

Попробуйте вставить что-то вроде:

return @"";

перед конечной скобкой.

Того же можно добиться, если выглядеть более симпатично с чем-то вроде switch.

0 голосов
/ 28 декабря 2011

Работает хорошо. Попробуй вернуть 0; в конце вашего метода.

например:

if([pickerView isEqual:myPicker])
{
    return 1;
}
else
if([pickerView isEqual:myPicker2])
{
    return 2;
}
return 0;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...