2014-01-14 81 views
-1

我有一個通用文件的功能使用以下鏈接作爲指導。唯一的區別是我不想在每個文件中導入通用文件,我希望使用它,我將其全局導入到%ProjectName%-Prefix.pch文件中。呼叫全球功能按鈕點擊目標c

How to create global functions in Objective-C

在我的文件,我想使用的功能我只有以下和它的作品。它調用測試函數,它只是將測試打印到控制檯。

[Common test];

現在我想的功能有以下添加到一個按鈕:

UIBarButtonItem *btnBack= [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"Arrows-Back.png"] 
                  style:UIBarButtonItemStylePlain 
                  target:self 
                  action:@selector([Common test])]; 

它說:「預期標識符」,和犯規編譯。

我用盡像

  • 幾個變化設定目標,以「共同」(在我的接口名稱)
  • 從動作
  • 創建通用前的一個實例刪除「@選擇」 Common c = [[Common alloc] init]然後用[c test]

不能似乎弄清楚如何從按鈕動作調用這個全局函數。

感謝,

+0

我認爲你應該把目標從'self'改爲你的共同目標。 – ipinak

+0

嘗試將'c'設置爲目標。 – Arcanfel

+0

@ipinak當我將目標設置爲Common時,它表示意外的接口名稱'Common';預期的表達式 –

回答

2

目標設置爲[Common class]和行動到​​

+0

美麗。謝謝 –

1

你可以在你的當前類寫一個方法:

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

然後將目標設定爲self和行動​​

+0

這將工作,但我不想創建一個指針,每次我想要這樣做的函數。這幾乎是失敗的目的,因爲測試函數只有一行或兩行,完成時 –

+0

組織優勢在於使所有按鈕操作等都通過父視圖關聯的視圖控制器。無論如何,我已經發布了另一個應該更符合你的喜好的答案。 – stackunderflow

+0

關閉@stackunderflow - 您需要'@selector(test)'作爲動作。 – mharper