2017-05-29 59 views
0

我剛纔注意到了這樣的警告:衝突的返回類型實施的 '實現代碼如下:canEditRowAtIndexPath:'

在實施 衝突的返回類型 '的tableview:canEditRowAtIndexPath:': 'BOOL'(又名「符號字符「)VS '布爾'

這是我的此方法的實現看起來像:

-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{ 

    NSInteger row = indexPath.row; 

    if (row >= 0 && row < messages.count){ 

     Message *message = [messages objectAtIndex:row]; 

     if (message){ 
      if ([message getSeen]){ 
       return YES; 
      } 
     } 
    } 

    return NO; 
} 

而這就是它如何從UITableView.h聲明如下:

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath; 

此警告的原因是什麼?

回答

1

這應該不會發生。檢查代碼中某處是否存在typedef或#define。在代碼中雙擊BOOL,右鍵單擊並選擇「顯示定義」。

+0

實際上,它是一個錯誤的Xcode。起初,我做了分析(產品 - >分析),並且警告出現了。在每次下一次構建之後,警告都會停止。但是當我清理乾淨並重新構建應用程序時,警告消失了。幸運的是......因爲這將是一個嚴重的錯誤:) – Whirlwind