2019-05-09 iOS 防止按钮重复点击

performSelector取消延迟
我们在View上放置一个Button,预期需求是防止暴力点击,只响应最后一次点击时的事件。
此需求我们可以通过cancelPreviousPerformRequestsWithTarget来进行实现。cancelPreviousPerformRequestsWithTarget的作用为取消当前延时任务。在执行延迟事件前取消当前存在的延迟任务即可实现如上效果。

  • (IBAction)buttonClick:(id)sender {
    id params;
    [[self class]cancelPreviousPerformRequestsWithTarget:self
    selector:@selector(sureTestMethod:)
    object:params];
    [self performSelector:@selector(sureTestMethod:)
    withObject:params
    afterDelay:3];
    }

  • (void)sureTestMethod:(id)objcet {
    NSLog(@"sureTestMethodCall");
    }

作者:卖报的小画家Sure
链接:https://juejin.im/post/5ccfcdd86fb9a0320a629981
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的:(2019-05-09 iOS 防止按钮重复点击)