2010-05-18 37 views
3

這裏是一個快速問題, 我有我的情侶視圖控制器類,並有一些其他類。 我發現我的自己在他們的所有實現文件中都創建了一些方法,這些方法都是這樣做的。Iphone:在一個單獨的文件中寫入一些方法從任何地方訪問

我想寫一些我的方法在一個單獨的文件, 並將此文件導入到我的視圖控制器。因此,我將能夠從我當前的視圖控制器運行這些方法,

如果此方法需要更改,我將不需要將其重寫到所有實現文件中。

讓我夏普只是一件事。我不想創建一個新的對象!並實例化它。 我確實希望能夠像我在做的那樣運行這個方法:[self doSomething];

請幫助理解這應該如何完成。

即 我有3個視圖控制器,每個控制器有波紋管方法:

-(void)doSomething:(id)sender{ 
//doing something 
} 

只是想在一個地方定義這個DoSomething的方法, 和我可以從我的視圖控制器訪問: [self doSomething];

這可能嗎?

在此先感謝。

回答

2

你想通過子類來做到這一點。首先創建一個你希望所有共享方法的類,作爲UIViewController的一個子類,讓我們稱之爲BaseViewController。例如,您可以在頭文件中找到以下代碼:

@interface BaseViewController: UIViewController 
{ 
} 
-(void)doSomething:(id)sender; 
@end 

然後在您的.m文件中對應定義。

現在,當您要創建具有共享的方法,使新的類BaseViewController沒有的UIViewController的一個子類,像這樣一個新的UIViewController子類:

@interface MyViewController: BaseViewController 
{ 
} 
@end 
+0

嘿,完美,擔任魅力, 但一更多的問題, 一個類可以是多個類的子類嗎? 我的意思是,我可以這樣做:@interface PersistenceViewController:UIViewController:SQLcontroller從上面你可以理解,我確實想爲我的所有SQL創建一個類,(訪問數據庫,打開/讀取/關閉,創建表...) 你明白了。 – 2010-05-18 14:44:25

+0

最好是將數據庫訪問完全放入另一個類中,然後將此類的一個實例放入您的視圖控制器中。將DB視爲模型,視圖和控制器模式的'模型'部分。 – 2010-05-18 14:49:24

+0

嘿科林,這聽起來像這就是我正在尋找的, 你能給我一個這個應該怎麼做的小例子嗎? – 2010-05-18 14:52:54

相關問題