ios - 调配 NSMutableArray addObject : failed

标签 ios objective-c

我调配 NSMutableArray addObject 失败了。代码如下:

Method ori_Mehtod = class_getInstanceMethod([self class], @selector(addObject:));
Method swi_Method = class_getInstanceMethod([self class], @selector(swi_addObject:));
method_exchangeImplementations(ori_Mehtod, swi_Method);

但是,我找到了一个有用的方法,如下:

Method orig = class_getInstanceMethod(NSClassFromString(@"__NSArrayM"), NSSelectorFromString(@"addObject:"));
Method override = class_getInstanceMethod(NSClassFromString(@"__NSArrayM"), @selector(addObject_override:));
method_exchangeImplementations(orig, override);

我猜想 [self class] 有问题。但我不知道问题出在哪里。

最佳答案

NSMutableArray 是一个类簇。实例总是隐藏的类类型(例如您发现的 __NSArrayM),因此调换 NSMutableArray 类本身没有什么好处。

关于ios - 调配 NSMutableArray addObject : failed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33761284/

相关文章:

iphone - ASIHTTPRequest:限制下载大小

objective-c - NSDictionary 如何处理 NIL 对象?

objective-c - 允许 iOS 用户从应用程序包中通过电子邮件发送 PDF

ios - 在转到另一个 Controller 后在 Controller 中处理响应

objective-c - 尝试呈现 UIActivityViewController 时崩溃

ios - Xcode 自动完成建议 NSArray getter 神秘的 "songsAtIndexes"

iphone - 如何确定将选择哪个 ImageView ?

iphone - PresentModalViewController 在 ios 5 中不工作

ios - 按键中的字符串日期对 NSDictionaries 的 NSArray 进行排序?

ios - 单元格变量为零,其中设置了值 collectionview 索引路径