Lorsque je défile vers le bas dans la vue de table, le chargement de TextView ralentit et le défilement est interrompu.Chargement de TextView avec retard et lent
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if arrayofCellData[indexPath.row].isDesc == false{
let cell = Bundle.main.loadNibNamed("imagesTableViewCell", owner: self, options: nil)?.first as! imagesTableViewCell
let indexA = self.arrayofCellData[indexPath.row].text
let path = "http://a"+indexA!
let url = URL(string: path)
cell.detailsImg.sd_setImage(with: url)
return cell
}
else {
let cell = Bundle.main.loadNibNamed("imagesTableViewCellDesc", owner: self, options: nil)?.first as! imagesTableViewCellDesc
let textD = self.arrayofCellData[indexPath.row].text!
let style = NSMutableParagraphStyle()
style.lineSpacing = 12
let attributes = [NSParagraphStyleAttributeName : style]
cell.descText.attributedText = NSAttributedString(string: textD, attributes:attributes)
cell.descText.textColor = UIColor.white
cell.descText.font = UIFont(name: (cell.descText.font?.fontName)!, size: 16)
cell.descText.textAlignment = .right
return cell
}
}
Comment 'sd_setImage' est-il défini? –
Bonjour @Lamiya, lorsque vous travaillez avec TableView, n'utilisez pas Bundle.main.loadNibNamed, utilisez celui-ci dequeueReusableCellWithIdentifier. –
Je pense que le retard se produit car il semble que vous rechargiez les images chaque fois que vous construisez une cellule et que vous ne les cachez pas n'importe où. En fonction du nombre d'images que vous avez, vous pouvez les charger par le biais d'un processus asynchrone lorsque la table est initialisée, puis les enregistrer dans votre modèle de données, puis les charger à partir de là, plutôt que de créer un http. : demande à chaque fois. – Sparky