簡體   English   中英

UISearchBar創建延遲/取消

[英]UISearchBar create delay/cancel

我的應用程序中有一個UISearchBar。 當用戶鍵入任何術語時,將針對外部API執行動態搜索。我將整個搜索術語作為參數發送給API。

我的問題是,用戶可以非常快速地鍵入..那么有什么辦法可以代替延遲,即用戶鍵入的每個字母都向API發送請求,我們是否可以創建一個延遲,即,如果鍵入兩個連續字母之間的差異非常小,將其合並為一個請求(而不是發出兩個單獨的請求)

我目前使用

[NSObject cancelPreviousPerformRequestsWithTarget:self];
    [xmlParser performSelector:@selector(parseXMLFile:) withObject:url afterDelay:0.3];

但這只是造成了延遲...如果差異很小(即用戶類型很快),我希望parseXMLFile不會多次執行

使用NSTimer。 例如,安排一個計時器(帶有用於搜索的回調)在0.5秒后觸發,然后,如果在觸發計時器之前出現了一個新的搜索字詞,請將其無效並重新計划。

如果在0.5內沒有新的搜索,則計時器將觸發並進行搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM