我有一段代码,有时需要调用“cancelPreviousPerformRequest”,有时则不需要。从我的测试看,即使已经删除了选择器,也可以调用它。我只是好奇,如果这是可以接受的,或者是否有人说“如果(选择器存在)删除它,否则什么都不做”
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(stopUpdatingCoreTemps:) object:@"SHUTDOWN"];
答案 0 :(得分:2)
没关系。
基本上,runloop将遍历所有排队的performSelector...
。如果你的目标不存在,它将不会做任何事情。
如果你有多个runloops,这只会变得棘手。 cancelPreviousPerformRequests...
仅适用于当前的runloop。