Как создать массив Images в CoreData


#1

Доброго времени суток! Коллеги столкнулся с проблемой, пишу приложение, задача похожа на приложение Ресторанов, в уроке 2!
Имеется объект который изначально создал пользователь, у него есть основное фото и параметры(имя, описание, дата) все это хранится в CoreData, в одном Entity. При нажатии на ячейку открывается viewController с iCarousel, которая заполняется из массива фоток, в уроке 2 был рассмотрен вариант как выбрать фото из photo Library.

  1. Вопрос как сделать выбор не 1 фото, а нескольких?
    Есть таблица с ресторанами, в ячейке есть 2 кнопки - Удалить и редактировать, если нажать редактировать, то можно менять фото самого ресторана, описание ресторана и его залов, дату открытия(Это реализовано). Но если нажать на ячейку ресторана, то открываются описание его залов и нужно сделать возможность добавления нескольких фото этих залов.

2 Вопрос, как это хранить в CoreData и следует ли вообще хранить это в CoreData ?


#2

Примерно так:

  // Массив изображений
    var images = [UIImage]()

    // массив, который будет храниться в Core Data
    var coreDataArray = NSMutableArray()

    // 
    for image in images {
        let data: Data = Data(data: UIImagePNGRepresentation(image ))
        coreDataArray.append(data)
    }

    // преобразуем массив в Data
    //you can save this in core data
    var coreDataObject = NSKeyedArchiver.archivedData(withRootObject: coreDataArray)

    // после того, как получили данные из Core Data 
    // извлекаем

    if let mySavedData = NSKeyedUnarchiver.unarchiveObject(with: coreDataObject) as? NSArray {
        // что-то делаем
    }