Intereting Posts
Разделить NSStrings на параграфы Аналог Swift для Java Runnable присвоение изображения uiimageview в ячейке таблицы UISlider делится на диапазон Segue всегда загружает новый экземпляр представления Цвет заголовка WatchKit AFNetworking: Error Domain = NSURLErrorDomain Code = -1005 «Сетевое соединение было потеряно». _kCFStreamErrorCodeKey = -4 Swift UICollectionView Ячейки перемещаются / метка UIButton мигает на ReloadData Как я могу отлаживать непогрешимую «внутреннюю ошибку» в Metal compute shader? (Тревога изменения произвольного кода) Я подклассифицировал UIButton в MonoTouch, но основной класс ObjC по-прежнему является UIButton Синхронизированные случайные числа Локальная декларация скрывает переменную экземпляра – tableView не синтезируется Как сравнить URL-адрес «file: // localhost / var / mobile / …» с «file: /// var / mobile / …» Исключить пользовательский слайдер из задержекContentTouches прокрутки Странная ошибка в iOS 7 UIImage (не отображается или отображается после задержки)

Ошибка: «Невозможно присвоить значение типа String: UIColor? к значению типа String: AnyObject! "

Мой код отлично работал в Swift 1.2, но в Swift 2 я получаю эту ошибку:

Невозможно присвоить значение типа String: UIColor? к значению типа String: AnyObject!

Мой код:

override func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { let cell = super.collectionView(collectionView, cellForItemAtIndexPath: indexPath) as! JSQMessagesCollectionViewCell let message = messages[indexPath.row] if message.senderId == self.senderId { cell.textView!.textColor = UIColor.blackColor() } else { cell.textView!.textColor = UIColor.whiteColor() } // Error in the following line cell.textView!.linkTextAttributes = [NSForegroundColorAttributeName:cell.textView!.textColor] return cell } 

Вы должны добавить ! после textColor :

 cell.textView!.linkTextAttributes = [NSForegroundColorAttributeName:cell.textView!.textColor!] 

Причина того, что linkTextAttributes имеет тип [String : AnyObject!] А словарь, который вы хотите назначить, имеет тип [String : UIColor?] . Несоответствие между UIColor и AnyObject потому что UIColor можно передать в AnyObject . Проблема в том, что UIColor? вы предоставляете не обязательно. И вы не можете неявно использовать опциональный UIColor? к необязательному AnyObject! , Поэтому вам нужно принудительно развернуть цвет, чтобы получить UIColor из UIColor? добавив ! ,

Попробуйте с этим

 textView!.linkTextAttributes = [NSForegroundColorAttributeName:textView!.textColor as AnyObject!]