Сохранение данных в CoreData


#1

У меня есть массив классов:
class Merchant: NSObject {

var id: Int32?
var name: String?
var category = Array<Int32>()
var logoImg: String?

}

Как мне его сохранить в CoreData?


#2

Стой, давайте ещё раз, массив классов?
И поподробней, что и куда и как вы хотите сохранить?


#3

var merchants = Array()

как этот массив можно сохранить в CoreData и получать его из CoreData


#4

так делать нельзя! Где тип данных?

Скажите, а вы знаете как сохранять объект в CoreData? думаю вам стоит пройти вот этот курс, так как Ваш вопрос затрагивает основы в понимании работы с CoreData


#5

var merchants = Array"<“Merchant”>"() не вставился полностью код в прошлый раз, вот такой массив(без ")


#6

давайте тогда по порядку:
Какие у Вас есть сущности?


#7

и массив экземпляров этого класса
var merchants = Array"<“Merchant”>"()

нужно сохранять это в CoreData и в дальнейшем получать эти данные из нее


#8

Простите, но Вам стоит почитать про роботу с CoreData, так как Вы не имеете представления о том, как она работает!
Сухой ответ на Ваш вопрос сделает Вам только хуже! Не пожалейте час-два времени и поймите основы CoreData! Вам оно пригодиться!


#9

Правильно я понял, по сути Вам нужно хранить в coreData id, name,category,logonImg и потом их получать из coreData ?


#10

да, но таких экземпляров будет очень большое количество + сама переменная category это массив


#11

Ну то что это массив - это не проблема=) Для этого и есть NSObject или NSSet. Как правильно заметил Den Вы немного перемудрили! Вы изучили то что Вам посоветовали выше? Создали сущность? Как я это вижу сейчас у вас должно быть вот так:

class Merchant: NSManagedObject {
@NSManaged var id: Int32?
@NSManaged var name: String?
@NSManaged var category = NSObject?
@NSManaged var logoImg: String?
}

т.е Merchant это сущность которая содержит экземпляры id, name,category,logonImg

осталось 2 вопроса:

  1. Какое действие записывает данные
  2. Какое их получает
    К примеру Вы создаете ресторан у которого есть свойства:
  • площадь
  • тип
  • кухня
  • банкетный зал, который в свою очередь имеет свойства:
  • количество мест
  • количество баров
  • цвет
  • площадь

В этом случае у Вас будет 2 связанные to many сущности Ресторан и Зал
Сначала пользователь добавит ресторан, он сохраниться в coreData, затем к этому ресторану добавит зал, который сохраниться в coreData, но уже будет связан с конкретным рестораном. Поэтому даже если в coreData будет 1000 одинаковых залов с одинаковыми значениями свойств они будут привязаны к разным ресторанам и при запросе сложностей возникнуть не должно.