2016-11-08 4 views
1

У меня есть приложение, которое использует QuickBlox в качестве службы чата. Все, что у меня есть, включая различные службы QuickBlox и библиотеки сеансов. Однако, когда я пытаюсь использовать QMChatViewController просто импортировать его в любом месте:QMChatViewController, в результате чего «Нельзя назначить свойство:« Я »неизменен

import QMChatViewController 

появляются такие ошибки:

self.imagePhoto.imageURL = NSURL(string: url) 
"Cannot assign to property: 'self' is immutable" 

и

imageView.imageURL = NSURL(string: photoURL) 
"Cannot assign to property: 'imageView' is a 'let' constant" 

Я думаю, что это как-то связано с AsyncImageView, но я удалил стручок, и это все еще происходит. Когда строка «import QMChatViewController» удалена, проект строит в порядке. Кто-нибудь, знакомый с ошибками сборки «я - неизменен»?

+1

Нашли причину. QMChatViewController поставляется с SDWebImage, который имеет расширение для UIImageView с помощью imageURL(). Это делает любые предыдущие вызовы asyncImageView.imageURL = ..., чтобы иметь эту ошибку. Ответ ниже кажется хорошим решением. – mitrenegade

ответ

2

Вы можете установить значение неизменяемого объекта с помощью «SetValue»

self.imageView.setValue(NSURL(string: photoURL), forKey: "imageURL") 
+0

Это решение, с которым я пошел, и он работает, чтобы установить свойство imageView в AsyncImageView. – mitrenegade

Смежные вопросы