【问题标题】:iOS continuous actioniOS 连续动作
【发布时间】:2014-06-16 12:48:25
【问题描述】:
基本场景是一旦用户编辑了一些由标签(UIView)表示的parameters,就向服务器请求数据。一般的解决方案是添加事件来观察这些标签。一旦删除了任何标签,就可以提交一个新的 http 请求,然后就会出现问题。例如,如果用户连续删除两个标签,原来的解决方案会连续提交两个请求。这绝对是不合理的,因为第一个请求是多余的。
那么,有没有办法把这些连续的动作看成一个单一的操作呢?
【问题讨论】:
标签:
ios
objective-c
action
observers
【解决方案1】:
我需要有关服务器之间的连接和程序目的的更多信息。但是,如果您控制后端,则可以传递包含所需信息的 json。如果您不控制后端,则取决于使用的 Web 服务是否支持。
【解决方案2】:
Em,我在这里找到的解决方案是 NSTimer。通过使用它,我可以设置一个自动执行的方法来观察倒计时值。一旦该值计数为零,就可以触发一些操作。如果用户不断更改这些标签,则该倒计时值将被重复初始化。
-(void)countDownTimer{
if(!timer){
timer = [NSTimer scheduledTimerWithTimeInterval:0.4f target:self selector:@selector(updateCounter:) userInfo:nil repeats:YES];
}
timeLeft=2;
}
- (void)updateCounter:(NSTimer *)theTimer {
if(timeLeft > 0 ){
timeLeft--;
NSLog(@"%d",timeLeft);
}
else{
//trigger update
//balabala
[timer invalidate];
timer = nil;
}
}