0
繰り返し画像からTableViewCellを停止する方法について説明します。 nil
画像と次の連絡先はUIImage(named: "emptyProfile")
を受けるべきではなく、接触は、前の連絡先の画像が割り当てられ私は自分のアプリケーションに連絡先をインポートし、テーブルビューに挿入するよ
var contact: Contact? {
didSet {
if let name = contact?.name {
nameLabel.text = name
} else {
nameLabel.text = ""
}
if let img = contact?.contactImage {
contactImage.image = img
} else {
contactImage.image = UIImage(named: "emptyProfile")
}
}
:私はここでやっているように私には連絡先の画像を設定
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: importCellId, for: indexPath) as! tbcImportContact
cell.contact = contacts[indexPath.row]
return cell
}
。
私はelse
文はこれを防ぐために、それが動作しないことを追加しようとしています。それに連絡先を割り当てる際
override func prepareForReuse() {
self.contactImage.image = UIImage(named: "emptyProfile")
self.nameLabel.text = ""
}
は、細胞をリセットするが、それもうまくいきませんでした: 私はまた、追加しようとしています。 私はまた、メインスレッドで非同期に設定しようとしたが、それも動作しませんでした。
私はこの問題を解決しようとすることができる他に何上の任意の提案?
私は置くところ'if let img ...'行にブレークポイントを設定し、あなたのさまざまな場合に何をしているのかを見てください。 (連絡先は私が期待されるものだったと何が有効か、空のイメージプロパティのいずれかのために起こったかどうか例) –
@PhillipMills接触画像はコンタクトイメージがnilであれば、画像は後に、その後、設定されますた最初の接触刚性ゼロに来ます、その前に連絡先から画像が戻ってきて、それはゼロではありませんでした。 – RickS
どのようなコードですか? 'もしlet img'が真であると評価されたら? –