Objective c 为什么代码不起作用?

Objective c 为什么代码不起作用?,objective-c,cocoa,Objective C,Cocoa,下面是我的一个表视图委托的部分代码。这是密码 -(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { if ([tableColumn isEqual:nameTableColumn] == YES) { NSMutableArray *rowArray = [theList objectAtIndex:row];

下面是我的一个表视图委托的部分代码。这是密码

-(id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row { if ([tableColumn isEqual:nameTableColumn] == YES) { NSMutableArray *rowArray = [theList objectAtIndex:row]; return [rowArray objectAtIndex:0]; } else if ([tableColumn isEqual:raiseTableColumn] == YES) { NSMutableArray *rowArray = [theList objectAtIndex:row]; return [rowArray objectAtIndex:1]; } } -(id)tableView:(NSTableView*)tableView对象值for tableColumn:(NSTableColumn*)tableColumn行:(NSInteger)行 { 如果([tableColumn isEqual:nameTableColumn]==是) { NSMutableArray*rowArray=[列表对象索引:行]; 返回[rowArray objectAtIndex:0]; } else if([tableColumn isEqual:raiseTableColumn]==是) { NSMutableArray*rowArray=[列表对象索引:行]; 返回[rowArray objectAtIndex:1]; } }
然而,当我编译它时,它有一个非void函数结束错误。根据我的经验(这不是很多),它应该是有效的,但事实并非如此。

对于之前的任何条件都不满足的情况,您需要一个最终的
-声明。换句话说,类似于:

else {
    return nil;
}

对于不满足上述任何条件的情况,您需要一个最终的
else
-语句。换句话说,类似于:

else {
    return nil;
}

最好是‘归零’在函数末尾,如果没有任何附加条件,最好只返回nil;'在函数的末尾没有任何附加条件