高频搜索避免频繁调用接口

2023-02-26  本文已影响0人  折颜乀

高频搜索

/// 上一个输入的时间,避免每次输入都调用搜索接口
@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;
 
}
上一篇 下一篇

猜你喜欢

热点阅读