Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 名为'的多个方法;标签';发现结果不匹配_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 名为'的多个方法;标签';发现结果不匹配

Iphone 名为'的多个方法;标签';发现结果不匹配,iphone,objective-c,ios,Iphone,Objective C,Ios,我在我的项目中添加了GDataframework,添加之后,我发现了错误 “找到多个名为“tag”的方法,但结果不匹配。”。如果我删除了GDataFramework,它就可以正常工作。我可以在GDataFramework中进行修改吗?或者我应该在我的项目中进行修改吗 int buttonTag=[sender tag] //here that error prompts up at every place in my project 此链接有一个与您的问题类似的问题:请尝试遵循您自己的应用程

我在我的项目中添加了
GDataframework
,添加之后,我发现了错误 “找到多个名为“tag”的方法,但结果不匹配。”。如果我删除了
GDataFramework
,它就可以正常工作。我可以在
GDataFramework
中进行修改吗?或者我应该在我的项目中进行修改吗

int buttonTag=[sender tag]  //here that error prompts up at every place in my project

此链接有一个与您的问题类似的问题:请尝试遵循您自己的应用程序中对此问题的答案的指导原则。

您的代码是否包含在操作方法中,如下图所示

- (IBAction)buttonPressed:(id)sender {
    int buttonTag = [sender tag];
}
然后,您可以通过将
id
替换为正确类型的发送者(
UIButton*
在这种情况下)来解决问题:

因为编译器随后知道
sender
UIButton
类的一个实例,因此知道此处应用的是哪个
tag
方法

请注意,在Xcode中创建连接时,您已经可以定义正确的类型:


在一种情况下,如果创建对象的工厂方法具有返回类型“id”,则编译器将检查所有类中的方法签名。如果编译器在多个类中发现相同的方法签名,则会引发问题。因此,将返回类型“id”替换为“specific class name”。

我认为int buttonTag=[[sender tag]intValue];也许能解决你的问题。当具有“相同名称”的方法返回“相同类型的值”(意味着如果两个方法都返回(id)),则会出现此问题。或者您可以使用int buttonTag=[(int)sender标记];
- (IBAction)buttonPressed:(UIButton *)sender {
    int buttonTag = [sender tag];
}