我一直在做一個寵物項目幾個星期,並開始認爲它可能會被我自己和一些朋友使用。目前,它實際上只是一個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。
這將避免必須爲每個接口添加協議嗎? – 2010-11-03 04:39:54