Вы могли бы иметь установку модели данных следующим образом (неупорядоченные массивы).
MainEntity
(stringAttribute) String
(quantityAttribute) <------------->> IntEntity
(intAttribute) Int
(quantity2Attribute) <------------>> IntEntity2
(intAttribute) Int
Если два ИНТ массивы достаточно похожи, вы могли бы упростить
MainEntity
(stringAttribute) String
(quantityAttribute) <------------->> QuatityEntity
(intAttribute) Int
(type) Int
(order) Int // optional
Менее гибкий хак будет кодировать массив, используя NSKeyedArchiver
, но это очень дорого.
Возможно, самый простой взлом - иметь единую сущность с тремя атрибутами String
, и вы можете преобразовать массивы в строки. Например:
let arrayToBeSaved = [1,2,3]
object.firstArray = arrayToBeSaved.map { "\($0)" }.joinWithSeparator(",")
// stores "1,2,3"
// retrieve
let storedArray = object.firstArray.characters.split{ $0 == "," }.map{ Int(String($0))! }
// retrieves [1,2,3]
Это может обеспечить даже ограниченные возможности поиска, хотя и не очень эффективно.
да, но я не получил ответа на него, поэтому я бы задал новый вопрос и попытался объяснить его проще – Cing