Какао, NSProxy, Как перенять метод в объекте? - PullRequest
2 голосов
/ 28 июля 2010

Мне нужно заменить метод в объекте моей собственной реализацией.Например,

Person *p; // some object
NSMutableArray *array = [NSMutableArray array];
[array addObject: p];

Как я могу заменить addObject собственным методом?

Другими словами, есть ли способ заменить реализацию addObject: объекта SPECIFIC другой реализацией?

Я играл с NSProxy, но не мог выяснить, чтоЯ должен сделать.

Любая помощь будет высоко оценена.

Спасибо

Ответы [ 3 ]

1 голос
/ 28 июля 2010

Сделать этот объект экземпляром другого класса с другой реализацией для метода.

0 голосов
/ 17 февраля 2013

Вы можете использовать метод Swizzling подход для замены методов во время выполнения.На самом деле был такой же вопрос, как у вас на SO, я думаю, что решение finsl должно работать и для вас - Метод Swizzling для NSArray

0 голосов
/ 28 июля 2010

Вы можете использовать категорию для переопределения :addObject метода NSMutableArray. См. Learn Objective C учебник (раздел 11) для получения дополнительной информации.

...