我使用SearchTextField库进行自动完成文本编辑。它的工作原理很吸引人,但我遇到了问题。我有200多个记录要列出。我必须从URL提取所有图像。因此,下面的代码工作非常缓慢。
我要做的是异步地从Web上获取图像并快速运行该库。我找到了一些SDWebImage和Kingfisher之类的异步加载图像的解决方案,但是它们需要UIImageView,而不是UIImage,因此无法使用它们。
任何想法都会受到赞赏。
这是我用于创建SearchTextField的代码段
var item = [SearchTextFieldItem]()
//I have more than 100 records in my UserList
for key in UsersList {
var imgUser : UIImage? = nil
let url = URL(string: key.ProfilePicture)
let data = try? Data(contentsOf: url!)
if ( data == nil) {
imgUser = UIImage(named: "UserIcon")
} else {
imgUser = UIImage(data:data!)
}
item.append(SearchTextFieldItem(title: key.Name!, subtitle: key.EMail,image: imgUser))
}
mySearchTextField.filterItems(item)