zoukankan      html  css  js  c++  java
  • iOS屏蔽高频点击技巧

    例如高频率点击一个按钮或者TableViewCell,会造成功能多次重复执行,在异步网络请求时候或者多线程时候,造成的问题尤其明显。

    解决方法:

    声明一个属性self.actionWorking ,标识是否有任务在执行,如果有就返回,如果没有就self.actionWorking= YES;然后通过

    - (void)performSelector:(SEL)aSelector withObject:(nullable id)anArgument afterDelay:(NSTimeInterval)delay;

    来执行目标操作,执行之后,self.actionWorking = NO;

    例如:

    -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    {

        if (self.actionWorking)

        {

            return;

        }

        self.actionWorking = YES;

        [self performSelector:@selector(someAction:) withObject:nil  afterDelay:0.5];

        return;

    }

    -(void)someAction:(NSObject*)object{

    // do some working

    self.actionWorking = NO;

    }

  • 相关阅读:
    HDU 1124 Factorial(简单数论)
    29.QT主窗口加widget
    28.开始画面和异形窗口
    27.Qt时钟
    26.QT颜色与布局
    25.QT进度条
    146.正则表达式
    24.qint64转QString 以及获取文件属性
    23.QFile遍历
    22.监视文件
  • 原文地址:https://www.cnblogs.com/taojigu/p/4938614.html
Copyright © 2011-2022 走看看