オブジェクトを作成した後、オブジェクトメソッドをスウィズルしたいと思います。目的C:作成後スウィズルオブジェクトメソッド
例:
@interface MyObj: NSObject
-(NSString*) foo;
-(NSString*) bar;
@end
@implementation MyObj
-(NSString*) foo {return @"foo";}
-(NSString*) bar {return @"bar";}
@end
void Swizzle(object, SEL source, SEL, dest);
...
MyObj* obj = [[[MyObj alloc] init] autorelease];
NSLog(@"%@", [obj foo]);
Swizzle(obj, @selector(foo), @selector(bar));
NSLog(@"%@", [obj foo]);
出力:
foo
bar
オブジェクトが作成される前に、私はスウィズリングのexamplesたくさん見てきました。しかし、あなたが見ることができるように、私はオブジェクトが作成された後にうまくいきたいです。
これは(NSThreadのように)リリースしようとしているオブジェクトを追跡したいからです。私はそれが過度のように見えるので、NSObject deallocをうろうろしたくありません。私はむしろ、私が追跡しようとしているオブジェクトだけを振る舞います。
[オブジェクトがスレッドセーフを受け取るすべてのメッセージを作成するにはどうすればよいですか?](http://stackoverflow.com/questions/8763028/how-can-i-make-every-message-an-object-スレッドセーフです)。私はそれがあるようには見えないが、答えを見て、それが必要であれば、それは容易に広がることを知っている。 –
"Instrumentsを使用するだけです。" – bbum