gpt4 book ai didi

ios - 将分页集成到自动完成本地搜索中

转载 作者:行者123 更新时间:2023-11-30 12:45:16 25 4
gpt4 key购买 nike

我正在从存储在文档目录中的文件读取 json 数据,结果数据数组的计数超过 1,30,000。

我已经实现了自动搜索方法来根据现有数据过滤数据,从输入数据(即前缀谓词)开始,这会在每个文本字段键事件上执行。

由于我无法为每个搜索执行完整的循环,因此我会为每 12 个找到的结果中断循环并重新加载到 TableView 。我的要求是如何实现分页,以便在滚动时附加并重新加载下一个找到的数据。

func searchAutocompleteEntriesWithSubstring(_ substring:     String,textfield:UITextField)
{
self.autoCompletesCompnies.removeAll(keepingCapacity: false)

searchQueue = DispatchQueue.global(qos: .default)
searchQueue!.async
{

for comp in self.companies!
{
var myString:NSString! = (comp.orgDescription! as NSString).lowercased as NSString!
myString = myString.trimmingCharacters(in: .whitespaces) as NSString!
let searchString = substring.trimmingCharacters(in: .whitespaces).lowercased()
let substringRange :NSRange! = myString.range(of: searchString)

if (substringRange.location == 0)
{
if !self.autoCompletesCompnies.contains(comp)
{
self.autoCompletesCompnies.append(comp)
}
DispatchQueue.main.sync
{
print("autocompanies count after search ========\(self.autoCompletesCompnies.count)")
self.autocompleteTableView.reloadData()
//self.autocompleteTableView.isHidden = false
if self.autoCompletesCompnies.count>0
{
print("is thread suspended \(self.isSuspended)")
if !(self.isSuspended!){
do {
self.tableViewdesignFunc(textfield)
}
}
else
{
self.autocompleteTableView.isHidden = true
self.autoCompletesCompnies.removeAll(keepingCapacity: false)
}
}
}
}
if self.autoCompletesCompnies.count > 12
{
break
}
}


}



}

最佳答案

使用此代码

override func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) {
let lastElement = dataSource.count - 1
if indexPath.row == lastElement {
// handle your logic here to get more items, add it to dataSource and reload tableview
}
}

edit

添加了堆栈溢出答案。

这里我得到了某人的 Stack 回答,请跟随它了解更多具体细节 load-more-options-with-uitableview

关于ios - 将分页集成到自动完成本地搜索中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41718798/

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