2010-11-03 31 views
0

我一直在做一個寵物項目幾個星期,並開始認爲它可能會被我自己和一些朋友使用。目前,它實際上只是一個XCode項目中的一堆Objective-C類,我使用main()來測試各種功能。如果我把它打包成.dylib文件,在項目中使用這個庫似乎是最簡單的。正如我在其他語言中發現的那樣,事後這樣做是一個令人討厭的問題,理想的情況是將它放在最低的階段。 :)將項目從類集合轉換爲.dylib的過程?

我很新的目標-C/Xcode的世界,但按照蘋果的"Dynamic Library Programming Topics",我的印象是,它真的只是一個正在調整我的接口文件是格式的事情下我:

@protocol Person 
- (void)setName:(NSString*)name; 
- (NSString*)name; 
@end 

@interface Person : NSObject <Person> { 
    @private 
NSString* _person_name; 
} 
@end 

(摘自引用的Apple文檔)。

其中:我定義包含要包含在名爲.dylib我要包括的類方法的協議,然後定義一個繼承NSObject的執行上述協議,並在這裏宣佈高德的界面。

幾個問題:

我是否能夠省略掉,我不希望「出口」到dylib協議的方法呢?

如果我在dylib中有一個類的子類,是否爲子類創建另一個協議,並使新創建的類的超類實現該協議?舉例來說,如果我是子類人:

@protocol CatPerson 
/* any additional methods for CatPerson not in Person */ 
- (void) protractClaws; 
- (void) retractClaws; 
@end 

@interface CatPerson : Person <CatPerson> { 
    @private 
/* any additional ivars for CatPerson not in Person */ 
NSNumber *clawCount; 
} 

這可能是一個很瑣碎的問題,但我想弄清楚的一切,我需要做之前,我去通移動的牙齒咬牙切齒所有類到.dylib。

回答

0

Project-> New Target ...在你得到的面板中選擇「dylib」。將其作爲當前目標。按住Ctrl鍵點擊&文件的tableview標題,勾選「目標成員」。選中您想要包含在您的dylib中的文件旁邊的複選框。

+0

這將避免必須爲每個接口添加協議嗎? – 2010-11-03 04:39:54