我正在篩選NSArray與NSPredicate和使用過濾數組爲我的UITableView。 當用戶在UITextField中輸入文本時,我正在使用此篩選。所以每當UITextField中的文本發生變化,我都會調用我的過濾器函數。篩選巨大的NSArray
它看起來像這樣:
NSArray *hugeArray = ...;
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", input];
_resultArray = [hugeArray filteredArrayUsingPredicate:predicate];
[_myTableView reloadData];
當我使用的NSArray有很多對象的輸入變得非常緩慢(在UI完整的輸入變得緩慢)。 有沒有可能獲得更好的性能或在後臺運行過濾的命令?
不應阻塞在UITextField中寫入內容。當輸入後很短的時間內刷新UITableView時,它可能會正常。
上的NSSet
更多信息,我建議你使用NSOperationqueue處理過濾器。如果用戶在過濾時插入另一個字符串,則中止舊的字符串。 – Vinh