Ios addTarget parentViewController和xcode警告我的选择器未声明
这与其说是一个真正的问题,不如说是一种好奇,因为它是有效的。但我不明白xcode警告。 在我的应用程序中,我使用addChildViewController,因此我有一个孩子和一个家长。在我的孩子身上,我有一个UIButton,我想激活父函数:它可以工作,但xcode说未声明的选择器父函数:/ 我可以声明此函数来删除此警告,但它将是死代码(坏方法)。 或者我可以使用委托,但为什么在有直接链接的情况下使用委托呢Ios addTarget parentViewController和xcode警告我的选择器未声明,ios,objective-c,xcode,Ios,Objective C,Xcode,这与其说是一个真正的问题,不如说是一种好奇,因为它是有效的。但我不明白xcode警告。 在我的应用程序中,我使用addChildViewController,因此我有一个孩子和一个家长。在我的孩子身上,我有一个UIButton,我想激活父函数:它可以工作,但xcode说未声明的选择器父函数:/ 我可以声明此函数来删除此警告,但它将是死代码(坏方法)。 或者我可以使用委托,但为什么在有直接链接的情况下使用委托呢 [btn addTarget:self.parentViewController ac
[btn addTarget:self.parentViewController action:@selector(parentFunction:) forControlEvents:UIControlEventTouchUpInside]; //undeclared selector parentFunction
致意
Thx您需要导入父视图控制器的.h文件,并将self.parentViewController强制转换到该类,否则编译器不知道该方法存在(因为parentViewController返回的是UIViewController,而不是自定义控制器)
将ParentClass替换为该父级的任何类名。另外,请确保parentFunction:在父类中实现(并带有冒号),并在其.h文件中声明。您需要导入父视图控制器的.h文件,并将self.parentViewController强制转换到该类,否则编译器不知道该方法存在(因为parentViewController返回UIViewController,而不是自定义控制器) 用父类的任何类名替换ParentClass。此外,请确保parentFunction:在父类中实现(并具有冒号),并且在其.h文件中声明。尝试在“parentFunction”cf之后删除冒号尝试在“parentFunction”cf thx之后删除冒号(我忘了导入页眉:/而且在工作时不会想到它)thx(我忘了导入页眉:/并且在工作时不会想到它)
[btn addTarget:(ParentClass *)self.parentViewController action:@selector(parentFunction:) forControlEvents:UIControlEventTouchUpInside];