Ios Xcode允许我在没有警告的情况下定义同一个函数两次

Ios Xcode允许我在没有警告的情况下定义同一个函数两次,ios,xcode,Ios,Xcode,刚刚在一个iOS项目中遇到一个问题,没有调用委托函数。不知道为什么它没有被触发 该函数位于UITableViewController子类中 -(void)tableView:(UITableView*)tableView未取消行索引路径:(nsindepath*)索引路径 原来我已经用自己的代码手动添加了这个函数,但它已经作为XCode自动生成代码的一部分存在于源文件的后面 XCode似乎没有问题,因为函数在同一个源文件中存在两次 为什么XCode没有对此显示警告 有没有办法将其配置为在这种情况

刚刚在一个iOS项目中遇到一个问题,没有调用委托函数。不知道为什么它没有被触发

该函数位于UITableViewController子类中

-(void)tableView:(UITableView*)tableView未取消行索引路径:(nsindepath*)索引路径

原来我已经用自己的代码手动添加了这个函数,但它已经作为XCode自动生成代码的一部分存在于源文件的后面

XCode似乎没有问题,因为函数在同一个源文件中存在两次

为什么XCode没有对此显示警告

有没有办法将其配置为在这种情况下显示警告


编辑:我正在使用XCode 4.5.2

您确定其中一种方法不在某个类别中吗?这将是合法的,因为类别将覆盖子类的方法。我刚刚使用Xcode 4.5.2进行了测试,当我两次尝试使用相同的方法名时,立即收到警告。

是否清理并重建了项目?清理并重建。仍然没有警告否,这两个方法都在类的
@implementation
部分的同一部分中。。几乎被注释掉的自动生成的代码分隔开了即使我删除了注释的部分并一个接一个地保留它们,我仍然没有收到任何警告..尝试创建一个新项目,我确实收到了警告。。奇怪。试着在一个方法中加入一些伪代码,然后在另一个方法中加入一些伪代码——比如说其中一行只写着“xxx=10;”,然后看看编译器在您尝试编译时是否会将其提取出来。如果没有,那么代码就不是活动的(它被包装在一个#If块或其他东西中)。编辑器并不总是与编译器同步——当我不小心删除了一个“#endif”语句时,我就被这一点咬了一口。