gpt4 book ai didi

iphone - iOS - 延迟后的 Web 服务请求

转载 作者:可可西里 更新时间:2023-11-01 05:03:27 24 4
gpt4 key购买 nike

我有一个带有建议的搜索栏 UITableView,它会在用户输入时填充(使用 JSON 服务)。这些服务调用需要在延迟 500 毫秒的非键入后进行。如果用户在这段 500 毫秒内开始键入,则需要取消队列中的当前调用,并且应用程序必须再等待 500 毫秒的非事件状态,然后才能进行另一个 afterDelay 调用。我知道我必须在整个情况下使用 performSelector:withObject:afterDelay,但我无法在适当的条件下解决问题。我尝试使用一堆 bool 值,但它只是变脏了……有什么帮助吗?

最佳答案

我会使用 NSTimer 而不是 performSelector:withObject:afterDelay:。检测 UISearchBar 中的文本何时更改并重置计时器。

-(void)viewDidLoad {

search.delegate = self;

}

-(void)searchBar:(UISearchBar *)theSearchBar textDidChange:(NSString *)searchText {

[timer invalidate];

timer = [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(callTheService) userInfo:nil repeats:NO];

}

关于iphone - iOS - 延迟后的 Web 服务请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com