Xcode I Tableview viewItemWithTag не может быть преобразован из UITableViewCell в UIImageView - PullRequest
0 голосов
/ 12 марта 2019

Это функция cellForRowAtIndexPath. Я хочу установить дочернюю фотографию ячейки UIImageView, но не могу создать для нее выход. Вылетает, говоря:

Не удалось привести значение типа «UITableViewCell» (0x22d3e0f40) к «UIImageView» (0x22d3e5810)

let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath)    
let profileImageView = cell.viewWithTag(0) as! UIImageView 
return cell

Ответы [ 2 ]

1 голос
/ 12 марта 2019

Правильным решением является создание пользовательского класса ячейки, который предоставляет свойство для UIImageView, к которому вы можете получить прямой доступ.

let cell = tableView.dequeueReusableCell(withIdentifier: "PostCell", for: indexPath) as! MyCustomCell // use your actual class name
let profileImageView = cell.imageView // access the custom cell's image view property

Ваш код не работает, поскольку все представления имеют тегПо умолчанию 0.

1 голос
/ 12 марта 2019

Каждый просмотр имеет по умолчанию тег 0, поэтому вам нужно присвоить тег 1 вашему UIImageView из раскадровки, а затем заменить

.
let profileImageView = cell.viewWithTag(0) as! UIImageView

с

 let profileImageView = cell.viewWithTag(1) as! UIImageView
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...