2015-12-12 4 views
-1

Я хочу иметь возможность хранить массив в свойстве items. Но основные данные не хранят массивы по некоторым причинам.Хранение массива в данных ядра swift 2

Как сохранить коллекцию данных с разным размером в основных данных?

Просьба указать код или ссылку на учебник.

ответ

2

Iterate над массивом темп и сохранить его следующим образом:

for item in items { 

    var newItem = NSEntityDescription.insertNewObjectForEntityForName ("Item", 
     inManagedObjectContext: context) as NSManagedObject 

    newItem.setValue(item, forKey: "itemname") 
} 

Если я понял ваши вопросы неправильно, пожалуйста, поправьте меня. С уважением, Алекс!

0

Возможно, вы захотите рассмотреть вопрос о создании другого объекта и использовать связь для привязки обоих объектов, чтобы иметь свой массив элементов.

0

Хотя запоминания NSArray в основных данных является архитектурным обсуждением, иногда может иметь причины, чтобы не хранить объекты в массиве в отдельный объект (более-нормализации, вопросы производительности, ..)

Если вы хотите сохранить массив типов Foundation, вы можете указать тип атрибута как Transformable. У Core Data уже есть NSValueTransformers, встроенные для каждого типа Foundation с iOS5.

Если у вас есть массив пользовательских NSObject, вы можете написать новый NSValueTransformer подкласс также обрабатывать сохранение этого пользовательского объекта Подробнее о NSValueTransformer можно найти здесь: NSValueTransformer

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