2011-09-16 31 views
0

我的Xcode .m源文件由於大量例程而變長,其中一些例程很長。我正在尋找添加額外的.m文件的方式,然後從我的main .m文件中調用它們中的例程。我明白添加源文件的機制,我真的想知道如何調用程序源一個比我目前在其他文件爲長空間或額外例程添加空間的.m源代碼文件

例:

mySource.h包含

-(void) myRoutine01; 

-(void) myRoutine02; ... 

-(void) myRoutine99; 

裏面mySource.m我正是如此調用一個子程序:

[self myRoutine01]; 

[self myRoutine02]; 

[self myRoutine03]; 

我想保持mySource.m管理的長度,使得我做的大多是邏輯的東西與調用口腔潰瘍尖頭實際上位於其他源文件中。一些例程可能會變得很長,並將它們放在自己的.m文件中將是最方便的。

如何在另一個源文件中調用例程?我只是用某種東西代替「自我」?

+0

您是否希望將「例程」拆分爲多個「.m」文件,但是作爲同一類的成員,還是要求如何添加新類以便當前類可以引用它們?你可以用任何方式解決你的問題,但後者通常是更好的選擇。 – adpalumbo

+0

外部例程是同一個類的成員。我正在創建許多數據分析例程,以便在一個.m文件中輕鬆完成。 – Leigh

回答

2

你所說的「例程」實際上是方法。

您可以使用Objective-C類別來組織您的方法,放置在多個文件中。 類別是將方法添加到現有Objective-C類的一種方法。閱讀documentation瞭解更多信息。

這樣,您可以通過將特定方法分組到特定類別來組織源文件並將它們保持較小。

例如:

MyClass.h

@interface MyClass: NSObject 
{} 

- (void)someMethod; 

@end 

MyClass的+ Misc.h(類別)

#import "MyClass.h" 

@interface MyClass(Misc) 

- (void)someOtherMethod; 

@end 

MyClass.m

#import "MyClass.h" 
#import "MyClass+Misc.h" 

@implementation MyClass 

- (void)someMethod 
{} 

@end 

MyClass的+混雜。 m

#import "MyClass+Misc.h" 

@implementation MyClass(Misc) 

- (void)someOtherMethod 
{} 

@end 
+0

我的舊學校C背景顯示!所以這只是爲外部方法添加另一個頭文件的問題? – Leigh

+0

; )沒問題...您需要爲每個類別添加一個頭文件,以及每個類的實現文件。 – Macmade

+0

我正在學習分類。我不夠聰明,剛纔提出更好的問題。必須閱讀和試驗。 – Leigh