#import <objc/objc.h>
#import <Foundation/Foundation.h>
@interface TestObj : NSObject
- (void)foo;
@end
@implementation TestObj
- (void)foo {
[NSObject cancelPreviousPerformRequestsWithTarget:self
selector:@selector(foo)
object:nil];
[self performSelector:@selector(bar) withObject:nil afterDelay:0];
}
- (void)bar
{
}
- (void)baz
{
for (int i = 0; i < 3; i++)
{
[self foo];
}
}
int main()
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
id obj = [[TestObj alloc] init];
[obj baz];
[[NSRunLoop currentRunLoop] run];
[pool release];
return 0;
}
@end
I2ltcG9ydCA8b2JqYy9vYmpjLmg+CiNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgoKQGludGVyZmFjZSBUZXN0T2JqIDogTlNPYmplY3QKLSAodm9pZClmb287CkBlbmQKIApAaW1wbGVtZW50YXRpb24gVGVzdE9iagoKLSAodm9pZClmb28gewogICAgW05TT2JqZWN0IGNhbmNlbFByZXZpb3VzUGVyZm9ybVJlcXVlc3RzV2l0aFRhcmdldDpzZWxmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOkBzZWxlY3Rvcihmb28pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0Om5pbF07CiAgICBbc2VsZiBwZXJmb3JtU2VsZWN0b3I6QHNlbGVjdG9yKGJhcikgd2l0aE9iamVjdDpuaWwgYWZ0ZXJEZWxheTowXTsKICAgICBwcmludGYoImZvb1xuIik7Cn0KIAotICh2b2lkKWJhcgp7CiAgICBwcmludGYoImJhclxuIik7Cn0KCi0gKHZvaWQpYmF6CnsKICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzOyBpKyspCiAgICB7CiAgICAgICAgW3NlbGYgZm9vXTsKICAgIH0KfQoKaW50IG1haW4oKQp7CiAgICBOU0F1dG9yZWxlYXNlUG9vbCAqcG9vbCA9IFtbTlNBdXRvcmVsZWFzZVBvb2wgYWxsb2NdIGluaXRdOwoKICAgIGlkIG9iaiA9IFtbVGVzdE9iaiBhbGxvY10gaW5pdF07CiAgICBbb2JqIGJhel07CiAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuXTsKCiAgICBbcG9vbCByZWxlYXNlXTsKCiAgICByZXR1cm4gMDsKfQpAZW5kCg==