2011-01-10 118 views
0

下面是我为我的表视图委托的一个代码的一部分。这里是代码为什么不工作的代码?

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

} 

然而,当我编译它,它有一个非void函数错误的结束。从我的经验(这是不是很多)的水平,它的假设工作,但事实并非如此。

回答

4

你需要一个最终else语句来为那些没有以前的条件都满足的情况下。换句话说,就像这样:

else { 
    return nil; 
} 
+0

更好的只是'返回零'在没有任何额外条件的函数结束 – Vladimir 2011-01-10 13:32:51