Существует несколько способов достижения этого. Это немного зависит от того, что эти классы, которые могут нуждаться в методе, о котором вы говорите. Другими словами, это зависит от уровня интеграции, который вам нужен. Например; должен ли этот метод работать с данными, инкапсулированными в эти классы.
Один подход будет иметь одноэлементный вспомогательный класс, который реализует конкретный метод.
Другой подход - это вспомогательный класс со статическим методом (то, что Squeegy очень кратко разрабатывает в своем ответе).
Другим подходом было бы создание базового класса, который содержит конкретный метод, и все другие классы, которые нуждаются в этом методе, просто расширяют базовый класс. Позвольте мне подготовить это для вас:
BaseClass.h:
@interface BaseClass
{
};
- someNiftyMethodWith:(NSString *)someCoolParameter;
@end
BaseClass.m:
@implementation BaseClass
- someNiftyMethodWith:(id)someCoolParameter
{
NSLog(@"yoy, that was easy to print %@ into the console", someCoolParamater);
}
@end
ExtendingClass.h
@interface ExtendingClass : BaseClass
{
};
- someMethodThatNeedsHelp;
@end
ExtendingClass.m
@implementation ExtendingClass
- someMethodThatNeedsHelp
{
[self someNiftyMethodWith:@"called by the extending class"];
}
@end
И есть еще больше способов достижения того, что вам может понадобиться при использовании Objective C. Высматривайте категории, делегат, протоколы.
Последнее, но не менее есть очень старая школа решение простой C-функции включены в заголовочном-файл, как это:
Helper.h:
void OldSchoolHelperFunction(void) { printf("simple helper function"); };
Для использования этого вы должны включить заголовок helper.h в все классы, которые могут ему понадобиться
#import "Helper.h"
@implemenation FooBar
- someMethodThatNeedsHelp
{
OldSchoolHelperFunction();
}
@end
спасибо !!!!!!!!!!!!!!!!!! – SpaceDog