Я хочу загрузить изображение из конечной точки API и сохранить его в переменной структуры iOS - PullRequest
0 голосов
/ 01 апреля 2020

Я использую базу данных Mov ie для поиска фильмов.

1) Я загружаю фильмы на основе параметра поиска

2) При удалении из очереди я загружаю соответствующий плакат

Моя проблема заключается в том, что я хочу сохранить изображение в объекте структуры, чтобы я мог повторно использовать его в своем приложении

let cell = tableView.dequeueReusableCell(withIdentifier: "searchResult", for: indexPath) as! SearchCell

var currentMedia = AppModel.searchList[indexPath.section]

searchList содержит данные типа Media Model

if let posterPath = currentMedia.posterPath {
              TMDBClient.downloadPosterImage(path: posterPath) { data, error in
                  guard let data = data else {
                      return
                  }
                  let image = UIImage(data: data)
                cell.MediaPoster.image = image
                currentMedia.posterImage = image

              }
          } 

Мой вопрос, даже после того, как я currentMedia.posterImage = image, UIImage не сохраняется в структуре.

Вот структура MediaModel

struct MediaModel {
    var posterImage: UIImage?
    let posterPath: String?
    let overview: String
    let releaseDate: String
    let Title: String
    let language: String
    let voteAverage: Double

    init(posterImage:UIImage,posterpath: String ,overview:String,release:String,title:String,language:String,vote:Double) {
        self.posterImage = posterImage
        self.posterPath = posterpath
        self.language = language
        self.overview = overview
        self.releaseDate = release
        self.Title = title
        self.voteAverage = vote

    }
}

1 Ответ

0 голосов
/ 02 апреля 2020

Видимо, изменение структуры на класс решило проблему переназначения.

Поскольку, как я полагаю, общеизвестно, что структуры передаются по значению, а классы передаются по ссылке, поэтому при присвоении экземпляра структуры просто присваивается копия объекта, а не ссылка .

Подробнее об этом здесь:

Классы Swift против структур

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...