我有幾個類有差不多相同的代碼。它們之間只有一個或兩個字符串是不同的。我想要做的是從另一個定義這些函數的類中使它們成爲「x」,然後使用常量或其他來定義那些不同的字符串。我不確定是否「x」是繼承或擴展或什麼。這是我需要幫助的。Objective-C協議vs繼承與擴展?
例如:
objectA.m:
-(void)helloWorld {
NSLog("Hello %@",child.name);
}
objectBob.m:
#define name @"Bob"
objectJoe.m
#define name @"Joe"
(我不知道定義字符串是合法的,但這會得到結果e point across)
如果objectBob.m和objectJoe.m不需要定義方法,那麼它們將是理想的,只是它們與objectA.m的關係。有沒有辦法做這樣的事情?它有點像協議,除了相反,我想要「協議」來實際定義函數。
如果一切都失敗我就做objectA.m:
-(void)helloWorld:(NSString *name) {
NSLog("Hello %@",name);
}
而且具有其他文件調用該函數(只是#import objectA.m
)。
+1除了它將通過可可命名標準調用「名稱」。 – 2010-06-07 22:03:33
Objective-C getter方法不使用單詞get。這只是'[自己的名字]'。以'get'開頭的方法表明某個提供的緩衝區正在填充或正在獲取遠程資源。 – Chuck 2010-06-07 22:04:31
這看起來會很好。可以/我應該將它與一個定義基類所需函數的協議(如名稱)結合起來?實際上,「名稱」是否需要成爲一種方法,或者有沒有辦法使它成爲子類的常量? – RyanJM 2010-06-07 22:27:29