我需要用我自己的实现替换对象中的方法。例如,
Person *p; // some object
NSMutableArray *array = [NSMutableArray array];
[array addObject: p];
如何用我自己的方法替换 addObject?
换句话说,有没有办法addObject:
用另一种实现替换特定对象的实现?
我一直在玩,NSProxy
但找不到我应该做什么。
任何帮助将不胜感激。
谢谢
我需要用我自己的实现替换对象中的方法。例如,
Person *p; // some object
NSMutableArray *array = [NSMutableArray array];
[array addObject: p];
如何用我自己的方法替换 addObject?
换句话说,有没有办法addObject:
用另一种实现替换特定对象的实现?
我一直在玩,NSProxy
但找不到我应该做什么。
任何帮助将不胜感激。
谢谢
使该对象成为具有不同方法实现的不同类的实例。
您可以使用类别来覆盖:addObject
. NSMutableArray
有关详细信息,请参阅学习 Objective-C 教程(第 11 节)。
您可以使用方法调配方法来替换方法运行时。实际上,您在 SO 上有一个问题,我认为 finsl 解决方案也应该对您有用 - Method swizzling for NSArray