Объявите этот метод в категории для NSObject и создайте пустую реализацию:
@interface NSObject (DynamicMethodsCategory)
- (void)doSomething;
@end
@implementation NSObject (DynamicMethodsCategory)
- (void)doSomething
{
}
@end
В вашем объекте вы можете вызвать его без каких-либо предупреждений:
@implementation MyObject
- (void)someMethod
{
[self doSomething];
}
@end
Затем сгенерировать реализацию[MyObject doSomething]
динамически, он будет вызываться вместо NSObject's
one.
Обновление: в качестве альтернативы, метод может быть объявлен в категории для объекта.Это подавляет предупреждение о неполной реализации компилятора .Тем не менее, я думаю, что это не хороший обходной путь, потому что приложение будет аварийно завершать работу, если метод динамически не создается во время выполнения до его вызова.