2011-01-10 166 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