テーブルビューをスクロールダウンすると、TextViewの読み込み速度が遅くなり、スクロールが途切れます。遅れて遅いTextViewロード
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
}
}
'sd_setImage'はどのように定義されていますか? –
こんにちは@Lamiya、TableViewで作業しているときにBundle.main.loadNibNamedを使用しないでください。この1つをdequeueReusableCellWithIdentifierとしてください。 –
私はいつもあなたがセルを構築し、どこにでもそれらをキャッシュしていないときにイメージを再読み込みしているように見えるので、遅延が起こっていると思います。あなたが持っている画像の数に応じて、テーブルが初期化されたときに何らかの非同期処理を介してそれらの一部または全部をロードしてからデータモデルに保存し、httpを作成するのではなくそこからロードすることができます:毎回リクエストしてください。 – Sparky