У меня есть сомнения относительно использования UIImage по умолчанию, хранящегося в Assests.xcassets
во время настройки ячейки в методе делегата tableView
_cellForRowAtIndexPath_
.Рассмотрим следующий фрагмент кода:
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier:newItemCellResueId , for: indexPath) as? MyCustomCell
cell?.imageView?.image = defaultImage
//After this we do all other stuff that needs to be done with the cell
return cell
}
, где defaultImage - это сохраненное свойство моего класса, которое инициализируется следующим образом: -
var defaultImage = UIImage(named: "Default")
Теперь мой вопрос заключается в следующем.Поскольку image является подпредставлением imageView ячейки, когда я устанавливаю imageView.image ячейки равным экземпляру моего сохраненного свойства, я предполагаю, что оно будет добавлено как подпредставление кimageView этой ячейки. Если это так, как этот единственный экземпляр UIImage по умолчанию добавляется как подпредставление для нескольких ячеек?Если нет, генерирует ли он различные экземпляры этого UIImage и добавляет их в ячейки?Если да, то почему бы нам не беспокоиться об объеме памяти (кеширование и т. Д.) Всех этих экземпляров defaultImage (как мы это делаем для асинхронно извлекаемых изображений для TableViewControllers)