问题描述
- iPhone开发alloc方法混合使用
-
使用下面的方法为了捕捉通用NSObject中的alloc。NSObject *obj = [[NSObject alloc] init]; UIView *view = [[UIView alloc] initWithFrame:CGRectZero]; NSString *str = [[NSString alloc] init]; [...]
除了在NSObjet中的alloc,其他方法都能正常执行,为什么?
#import "NSObject+Custom.h" #import <objc/runtime.h> @implementation NSObject (Custom) + (void)load { Method original = class_getInstanceMethod(self, @selector(alloc)); Method swizzle = class_getInstanceMethod(self, @selector(allocCustom)); method_exchangeImplementations(original, swizzle); } - (id)allocCustom { NSLog(@"%s", __FUNCTION__); // no way return [self allocCustom]; } @end
时间: 2024-08-06 23:34:48