У меня есть пара классов, которые имеют почти идентичный код. Только строка или два отличается между ними. Я хотел бы сделать их "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
).