На простых примерах изучил MVP
и REST
, теперь собственно хочу объединить и закрепить знания уже в более менее нормальном проекте, логика получение JSON
, запроса токена, должно выполняться в Presenter
? Не совсем уверен что правильно построил архитектуру.
Это twitter search api
который в начале получает запрос на поиск по слову и выводит в tableView
распарсенное значение, в таком формате:
Собственно суть: не получается в MVP
установить изображение профиля, в файле TweetPresenter(строка 100)
добавляю ссылку изображения в модель, и передаю ссылку в метод downloadData (строка 119)
и пытаюсь через делегат установить картинку профиля, сам делегат реализовывается в TweetTableViewCell
(полагаю delegate = self в awakeFromNib
не работает)
Так же пытался установить наблюдатель за моделью в том же TableViewCell
var tweet: Tweet? { didSet { updateUI() } }
func updateUI() {
print("it works")
if let profileImageUrl = tweet?.profileImageUrl {
let url = URL(string: profileImageUrl)
let request = URLRequest(url: url!)
let networkProcessor = NetworkProcessing(request: request)
networkProcessor.downloadData { [weak self] (imageData, httpResponse, error) in
DispatchQueue.main.async {
if let imageData = imageData {
self?.avatarImageView.image = UIImage(data: imageData)
}
} }
Но он тоже не работает, можете посмотреть проект, подсказать где ошибки и как это на самом деле правильно делается
проект: https://github.com/Constantine1995/ClientTwitterREST