我在我的项目中添加了GDataframework
,添加后,我收到错误 “找到多个名为'tag'且方法不匹配的结果。如果我删除GDataFramework
比它工作正常。我可以修改GDataframework
或我应该在我的项目中完成?找到多个名为“tag”的方法,结果不匹配
int buttonTag=[sender tag] //here that error prompts up at every place in my project
我在我的项目中添加了GDataframework
,添加后,我收到错误 “找到多个名为'tag'且方法不匹配的结果。如果我删除GDataFramework
比它工作正常。我可以修改GDataframework
或我应该在我的项目中完成?找到多个名为“tag”的方法,结果不匹配
int buttonTag=[sender tag] //here that error prompts up at every place in my project
此链接有类似你这样的问题:Defeating the "multiple methods named 'xxx:' found" error尽量遵循这个问题的答案确实的指导方针在自己的应用程序。
您的代码是否在一个操作方法中,像这样?
- (IBAction)buttonPressed:(id)sender {
int buttonTag = [sender tag];
}
然后你就可以用(在这种情况下UIButton *
)的正确类型发件人的更换id
解决的问题:
- (IBAction)buttonPressed:(UIButton *)sender {
int buttonTag = [sender tag];
}
因为编译器就知道这sender
是UIButton
的一个实例类,因此知道在哪里应用哪个方法。
注意,您可以创建在Xcode连接时已经确定了正确的类型:
谢谢你......这个解决了我的问题 – Shoaib
在一个场景中,如果创建对象的工厂方法具有返回类型“ID”,那么编译器将检查所有类中的方法签名。如果编译器在多个类中找到相同的方法签名,则会引发问题。所以用“特定类名”替换返回类型“id”。
我认为int buttonTag = [[sender tag] intValue];可能会解决你的问题。当“同名”方法返回“相同类型的值”(意味着如果两个方法返回(id))时,会发生此问题。 – Bhavin
或者你可以使用int buttonTag = [(int)sender tag]; – Bhavin