如果我用这个开始一些事情:
> [self performSelector:@selector(runThis:) > withObject:thisObject > afterDelay:5.0];
我以后应该使用哪一个取消它,避免“runThis:”从中运行?
1> [NSObject cancelPreviousPerformRequestsWithTarget:self];
或
2> [NSObject cancelPreviousPerformRequestsWithTarget:self 2> selector:@selector(runThis:) 2> object:nil];
甚至不确定1和2之间的区别是什么。
#1取消任何/所有我的performSelector's,无论其名称是什么?
#2只取消一个,特别是“runThis:”?
(如果我有3个不同的performSelector运行“runThis:”怎么办?如何指定哪一个取消...使用#1或#2?)
#1似乎正确地取消了。
#2似乎没有取消任何......永远。
在开始时传递thisObject,取消时是否为nil,这是否重要?
答案 0 :(得分:1)
对于#2,您必须传入一个对YES
返回-isEqual:
的对象。与nil
内容不同,NSNotification
并不代表该方法的“任何内容”。