2017-05-29 30 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