实现两次点击超过0.5s之后执行某方法(不使用定时器)

简介: 我们遇到了一个需求是这样的:用户连续点击某按钮,每点击一次数量增加一个,当两次点击之间的时间间隔超过0.5s的时候,把这次连续点击的个数上报给服务器。思路一:使用定时器,当第一次点击的时候,设置定时器为0s,触发定时器,当定时器增加到0.5s并且没有接收到任何点击的时候,停止计时器并上报数据。

我们遇到了一个需求是这样的:
用户连续点击某按钮,每点击一次数量增加一个,当两次点击之间的时间间隔超过0.5s的时候,把这次连续点击的个数上报给服务器。
思路一:
使用定时器,当第一次点击的时候,设置定时器为0s,触发定时器,当定时器增加到0.5s并且没有接收到任何点击的时候,停止计时器并上报数据。当下一次点击在0.5s内的时候,把定时器重新设置从0开始计时。
但是,使用定时器容易造成内存泄漏,所以尽量少的使用定时器。
要实现这个需求,不使用定时器也是可以完成的。
思路二:
使用延迟执行方法来实现。当点击的时候取消之前的方法响应,当超过0.5s的时候自动执行上报方法。说起来比较绕,代码实现超简单哟。

//按钮的点击方法
- (IBAction)juziClick:(id)sender {
    self.clickJuziCount++;//点击次数增加
    self.data.credit_num++;//业务相关逻辑
    self.haveJuziCount.text = [NSString stringWithFormat:@"收到了%ld个橘子",self.data.credit_num];//业务相关
//以下两句是关键
    [NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(addJuziCount) object:nil];
    [self performSelector:@selector(addJuziCount) withObject:nil afterDelay:0.5];
}
//增加橘子数量,上传至服务器
-(void)addJuziCount{
   // NSLog(@"------bbbb----------- %d",self.clickJuziCount);
    [PublicTool showMsg:[NSString stringWithFormat:@"增加了 %d 个橘子",self.clickJuziCount]];
//上报服务器
}

你可以觉得我是投机取巧,但是,只要实现了功能,并且节省代码,性能也不错,不是挺好的吗?
欢迎各位小伙伴们批评指正。

目录
相关文章
|
JSON 自然语言处理 物联网
基于PaddleNLP的ChatGLM-6B模型lora微调实现Data-To-Text 硬约束下的受控文本生成
基于PaddleNLP的ChatGLM-6B模型lora微调实现Data-To-Text 硬约束下的受控文本生成
545 0
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
解决RAG检索瓶颈:RAPL线图转换让知识图谱检索准确率提升40%
本文探讨了RAPL框架,一种创新的人工智能架构,用于改进知识图谱环境下的检索增强生成系统。RAPL通过线图转换和合理化监督技术,构建高效且可泛化的检索器,显著提升大型语言模型在知识问答中的准确性和可解释性。文章分析了现有RAG系统的缺陷,即最短路径并非总是合理路径,并提出RAPL的三步解决方案:利用大型语言模型生成高质量训练数据、将知识图谱转换为线图以实现基于路径的推理,以及通过双向图神经网络进行路径检索。实验结果表明,RAPL不仅提高了检索精度,还缩小了小型与大型语言模型间的性能差距,推动了更高效、透明的AI系统发展。
116 4
解决RAG检索瓶颈:RAPL线图转换让知识图谱检索准确率提升40%
|
11月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
552 3
|
架构师 数据库 OceanBase
OceanBase的创始人是阳振坤
【8月更文挑战第8天】OceanBase的创始人是阳振坤
767 62
|
人工智能 安全 机器人
LLM对齐数据全自动合成!UW华人博士生提出Magpie方法,Macbook Air即可运行
【8月更文挑战第11天】在AI领域,大型语言模型(LLM)的行为对齐一直是个挑战。华盛顿大学研究人员提出名为Magpie的新方法,能自动高效生成高质量指令数据,减少人工干预,提升LLM的对齐效果。通过输入模板,Magpie利用已对齐LLM生成能力自动生成指令数据,仅需少量GPU资源即可创建大规模数据集。实验显示,使用Magpie数据集微调的模型性能媲美传统监督方法。尽管如此,Magpie仍需进一步优化以生成特定领域指令并确保数据安全性。[论文](https://arxiv.org/abs/2406.08464)
479 60
|
应用服务中间件
解决tomcat无法启动显示cannot touch
解决tomcat无法启动显示cannot touch
374 1
|
数据采集 人工智能 监控
构建未来:人工智能在城市规划中的应用与挑战
【8月更文挑战第6天】随着人工智能技术的飞速发展,其在各行各业的应用日益深入。本文将探讨人工智能在城市规划领域的应用及其所面临的挑战,分析AI技术如何助力城市发展更加智能、高效和可持续,同时指出在实施过程中需要注意的问题和潜在风险。通过对未来趋势的展望,本文旨在为城市规划者和决策者提供参考,促进人工智能技术在城市建设中的健康发展。
|
人工智能 智能硬件
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
2359 0
如何在一周内摸清一个行业:ChatGPT + 麦肯锡关键词分析法
|
数据库
MAC Navicat 连接 MySql
MAC Navicat 连接 MySql
341 0
|
存储 编解码 监控
h264与x264支持的Profile
h264与x264支持的Profile
454 0