2017-02-14 12 views
1

У меня есть массивКак сохранить Динамично массив в основных данных или области в прошивке и как сравнить этот массив

var names:[String]=["kate","son","viktor"] 

Я хочу, чтобы сохранить этот массив в основных данных или Realm. Этот массив динамически изменен

var names:[String]=["kate","son","viktor","sam"] 

Как сравнить эти массивы и изменения печати. Например: изменения для имен «Sam». Спасибо за любую помощь (идею) или ссылки.

+1

Вы бы сделать это совершенно по-разному для Realm против Core Data , Не имеет смысла спрашивать об этом в одном вопросе. – bdash

ответ

1

В Realm, вы могли бы просто сериализации/десериализации массив Data (или String), как это:

class SomeModel: Object { 
    dynamic var _names: Data! 

    var names: [String] { 
     set(value) { 
      try! realm.write { 
       _properties = try! JSONSerialization.data(withJSONObject: value, options: []) 
      } 
     } 
     get { 
      guard _names != nil else { return [] } 
      return try! JSONSerialization.jsonObject(with: _names, options: []) as? [String] ?? [] 
     } 
    } 
} 

Это будет хранить массив в Realm, но не позволит сортировать или запрос, используя имена в массиве, очевидно.

Вы, наверное, лучше хранить каждое имя в соответствующей модели объекта и создать свойство один-ко-многим в базовом объекте (с использованием Realm-х List)

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

  • Нет связанных вопросов^_^