Ios 在目标c中单击按钮调用全局函数

Ios 在目标c中单击按钮调用全局函数,ios,objective-c,Ios,Objective C,我有一个函数的通用文件,使用以下链接作为指南。唯一的区别是,我不是在每个要使用的文件中导入公共文件,而是在%ProjectName%-Prefix.pch文件中全局导入它 在我想要使用函数的文件中,我所拥有的是以下内容,它可以工作。它调用test函数,该函数只是将测试打印到控制台 [通用测试] 现在,我想将该函数添加到具有以下内容的按钮: UIBarButtonItem *btnBack= [[UIBarButtonItem alloc] initWithImage:[UIImage imag

我有一个函数的通用文件,使用以下链接作为指南。唯一的区别是,我不是在每个要使用的文件中导入公共文件,而是在%ProjectName%-Prefix.pch文件中全局导入它

在我想要使用函数的文件中,我所拥有的是以下内容,它可以工作。它调用test函数,该函数只是将测试打印到控制台

[通用测试]

现在,我想将该函数添加到具有以下内容的按钮:

UIBarButtonItem *btnBack= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Arrows-Back.png"]
                                                           style:UIBarButtonItemStylePlain
                                                          target:self
                                                          action:@selector([Common test])];
它显示“预期标识符”,并且不编译

我试过几种变体,比如

  • 将目标设置为“Common”(我的接口的名称)
  • 从操作中删除“@选择器”
  • 创建common ex
    common c=[[common alloc]init]
    的实例,然后使用
    [c test]
似乎无法理解如何通过按钮操作调用此全局函数


谢谢,

您可以在当前类中编写一个方法:

-(void) test {
    [Common test];
}

然后将目标设置为
self
,操作设置为
@selector(test)

将目标设置为
[Common class]
,操作设置为
@selector(test)

我认为您应该将目标从
self
更改为您的公共对象。尝试将“c”设置为目标。@ipinak当我将目标设置为Common时,它表示意外的接口名称“Common”;预期expression@Arcanfel当我声明
Common c=[[Common alloc]init]它表示“不能静态分配接口类型”。所以我甚至没有机会把它作为目标。你所描述的是一个类方法,而不是一个全局函数。这是可行的,但我不想每次都创建一个指向函数的指针。这几乎无法达到目的,因为测试功能只有一行或两行,当其完成时,所有按钮操作等都具有组织优势。请通过父视图关联的视图控制器。无论如何,我已经发布了另一个答案,它应该更符合您的喜好。关闭@stackunderflow-您需要
@selector(test)