高频搜索
/// 上一个输入的时间,避免每次输入都调用搜索接口
@property (nonatomic, assign) __block NSTimeInterval preInputTime;
- (void)changedTextField:(UITextField *)textField{
// 0.3秒后,判断一次
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
// 取得当前时间戳 毫秒级
NSTimeInterval currentTime = [[NSDate date] timeIntervalSince1970]*1000;
// 如果当前时间戳和上次的时间戳相差 0.3 秒,就进行搜索
if (currentTime - self.preInputTime >= 300) {
NSLog(@"------------------------------------去搜索");
// 调用搜索接口进行搜索
if ([textField.text isEqualToString:@""]) {
}else{
}
}
});
// 记录上次的时间戳,毫秒级
self.preInputTime = [[NSDate date] timeIntervalSince1970]*1000;
}
网友评论