2015-08-06 12 views
-1

я пытаюсь сохранить изображение 3 в массиве затем отображать их в ScrollView, но он показывает эту ошибку в этой строке: «self.paginatedScrollView .images = образы»UIImage? не совпадает с UIImage

override func viewWillAppear(animated: Bool) { 
     super.viewWillAppear(animated) 

     displayPost(post) 

     paginatedScrollView = PaginatedScrollView(frame: CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)) 
     self.view.addSubview(paginatedScrollView!) // add to the 

     let images = [ post!.image1.value, post!.image2.value, post!.image3.value] 

     self.paginatedScrollView?.images = images 
    } 

ответ

2

Это потому что UIImage? является необязательным. Вам просто нужно, чтобы разворачивал ценность изображений, прежде чем назначать их с помощью! оператор.

Попробуйте это:

let images: [UIImage] = [ (post!.image1.value)!, (post!.image2.value)!, (post!.image3.value)!] 

Edit: Массив, созданный ранее спасал УСТРОЙСТВА. Поэтому я просто развернул все значения, которые вы сохраняли в массиве, добавив «!». Читайте о опциях здесь: http://www.touch-code-magazine.com/swift-optionals-use-let/

+0

Это означает, что массив хранит опции. Укажите тип массива явно и убедитесь, что вы сохранили развернутые значения в массиве. –

+0

О, это исправило проблему! спасибо, вы можете объяснить, что вы сделали, пожалуйста! – Yahyacode

+0

Несомненно. Я обновлю ответ. –

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