ほぼ同じコードを持つクラスがいくつかあります。それらの間で異なるのは1つまたは2つの文字列だけです。私がやりたいのは、それらの関数を定義する別のクラスからそれらを「x」にしてから、定数などを使用して、異なる文字列を定義することです。「x」が継承なのか拡張なのか、それとも何なのかわかりません。それは私が助けを必要としているものです。
例えば:
objectA.m:
-(void)helloWorld {
NSLog("Hello %@",child.name);
}
objectBob.m:
#define name @"Bob"
objectJoe.m
#define name @"Joe"
(文字列を定義することが合法かどうかはわかりませんが、これで意味がわかります)
objectBob.mとobjectJoe.mがメソッドを定義する必要がなく、objectA.mとの関係だけが定義されていれば理想的です。このようなことをする方法はありますか?これはプロトコルに似ていますが、逆に、「プロトコル」で実際に関数を定義する必要があります。
他のすべてが失敗した場合は、objectA.mを作成します。
-(void)helloWorld:(NSString *name) {
NSLog("Hello %@",name);
}
そして、他のファイルにその関数を呼び出させます(そしてちょうど#import objectA.m
)。