嘿得到这个错误'控制到达非空函数的结尾'在它上面的}行。 我究竟做错了什么? 请帮忙
(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");
}
答案 0 :(得分:3)
如果您收到的信件不在您的某个选项中,则不会返回。 (它可能永远不会发生,但这是一个警告......)
尝试在方法结束时添加return nil;
答案 1 :(得分:2)
为什么不创建一个临时变量来保存你想要返回的值,然后返回那个变量?
NSMutableString *theString = [NSMutableString stringWithString:@" "];
if (section == 0)
{
[theString setString:@"A"]
}
else if(section == 1)
{
[theString setString:@"B"]
}
.....etc.....
return theString;
请注意在现有代码中使用Else If - 将检查每个条件,这是非常低效的。如果满足第一个条件,则其他条件都不成立,因此使用Else If会使程序浪费时间检查它们。
这基本上告诉我你需要回过头来重新学习一些编程基础知识。
答案 2 :(得分:1)
尝试插入类似的内容:
return @"";
就在结束之前。
虽然看起来像switch
这样的东西更漂亮,但同样的事情可能会实现。
答案 3 :(得分:0)
工作正常。试着把回报0;在你的方法结束时。
例如:
if([pickerView isEqual:myPicker])
{
return 1;
}
else
if([pickerView isEqual:myPicker2])
{
return 2;
}
return 0;