2010-02-26 20 views
3

我有幾個類使用的一些方法。我的想法是將這些方法放在一個通用的單獨文件中,並讓其他類可以看到它們。iPhone - 在單獨的文件上的一般方法

我怎樣做,在Xcode的?

很抱歉,但我是新iPhone的發展。

謝謝

回答

2

有時我有一個Utility類,我定義對這隻類方法。無論我需要使用這些隨機的方法之一,我只是#import "Utility.h"[Utility doSomeHandyThing]

你會定義方法與此聲明:

+(BOOL)doSomeHandyThing; 

+允許你調用它的類本身不首先實例化它,非常適合快速訪問不需要依賴任何上下文的代碼。

+0

謝謝!!!!!!!!!!!!!!!!!! – SpaceDog 2010-02-26 00:54:21

0

只要製作一個自定義類具有這些方法。 This應該幫助你。

1

有幾種實現方法。這取決於這些類是什麼,可能需要你談論的方法。換句話說,這取決於你需要的集成水平。例如;該方法是否需要處理封裝在這些類中的數據?

一種方法是將具有單助手級實現了特定的方法。

另一種方法是一個輔助類有一個靜態方法(東西Squeegy在他的回答很簡單起草)。

另一種方法是創建一個基類包含特定方法和需要該方法簡單地延伸的基類的所有其他類。讓我起草這個給你:

 
BaseClass.h: 
@interface BaseClass 
{ 
}; 
- someNiftyMethodWith:(NSString *)someCoolParameter; 
@end 

BaseClass.m: 
@implementation BaseClass 
- someNiftyMethodWith:(id)someCoolParameter 
{ 
    NSLog(@"yoy, that was easy to print %@ into the console", someCoolParamater); 
} 
@end 

ExtendingClass.h 
@interface ExtendingClass : BaseClass 
{ 
}; 
- someMethodThatNeedsHelp; 
@end 

ExtendingClass.m 
@implementation ExtendingClass 
- someMethodThatNeedsHelp 
{ 
    [self someNiftyMethodWith:@"called by the extending class"]; 
} 
@end 

而且有實現使用Objective C.查找出類別,代表,協議時,你可能需要什麼更多的方式。

最後但並非最不重要有一個頭文件中招收這樣的一個普通的C函數的非常老派的解決方案:

 
Helper.h: 
void OldSchoolHelperFunction(void) { printf("simple helper function"); }; 

有關使用此您將包括在頭Helper.h所有可能需要它的類實現

 
#import "Helper.h" 

@implemenation FooBar 
- someMethodThatNeedsHelp 
{ 
    OldSchoolHelperFunction(); 
} 

@end 
0

有多少代碼需要在類之間通用?也許首先創建一個基類,然後從其他類繼承它將適用於這種情況。