2015-12-19 2 views
0

rowDescriptor - AnyObject? тип, я получаю конвертировать self.rowDescriptor?.value в images. Я хочу добавить изображение к self.rowDescriptor?.value. Я не смог сделать это, как показано ниже. images имеет одно значение. но self.rowDescriptor?.value еще пуст. Я не могу найти какой-либо документ об этом. в чем причина.изменение коллекция опциональное значение в swift?

var images :[UIImage] = self.rowDescriptor?.value as! [UIImage] 
    if let image = editedImage { 
     images.append(image) 
    } else { 
     images.append(originalImage!) 
    } 

ответ

3

Тип массива в Swift - это структура. Структуры в swift - это типы значений, а не ссылочные типы. Для уточнения:

images содержит копию self.rowDescriptor?.value

images.append( изменения параметра Копир images, а не первоначальное значение в вашей rowDescriptor.value

Вы хотите изменить self.rowDescriptor?.value так просто установить, что к вашему недавно изменен image сек массива ,

self.rowDescriptor?.value = images 

тд, д-р

Чтобы исправить, добавить self.rowDescriptor?.value = images.

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