Статический эквивалент -forwardingTargetForSelector: - PullRequest
2 голосов
/ 31 января 2012

Я работаю со статическим классом, который делегирует методы только экземпляру другого класса. Это своего рода оболочка для контекста Core Data:

implementation CoreDataUtil

static NSManagedObjectContext* context; 

+ saveContext {
    [context saveContext];
}

... (several static methods)

@end

Я не очень доволен этим подходом. Поэтому я изменил дизайн по-другому.

Из соображений прежних версий (старые вызовы методов класса CoreDataUtil) я хотел бы сохранить класс CoreData. Я хотел бы, чтобы он "перенаправил" неопределенные методы в другой экземпляр.

Я знаю, что это можно сделать, например, методом с помощью forwardingTargetForSelector. Но я хотел бы, чтобы такой же механизм использовался для метода класса (который перенаправляет на методы экземпляра).

Спасибо.

1 Ответ

0 голосов
/ 03 июня 2012

У меня была похожая проблема, и я попробовал много вещей, в том числе описанных в моем вопросе здесь: forwardInvocation в другой класс вместо экземпляра

В конце концов, к сожалению, это не такКажется невозможным перехватывать вызовы методов на «статическом» уровне, то есть на уровне класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...