Создание экземпляров основного массива для нескольких объектов, которые обновляются из основного массива

#arrays #swift #realm

#массивы #swift #область

Вопрос:

Это довольно странный вопрос, который, я надеюсь, я описал достаточно точно, чтобы люди поняли, но:

У меня есть RealmModelObjects (вызывается People ), и у меня есть вызываемый глобальный массив selectedListItems . Массив selectedListItems содержит RealmListItem s, поэтому каждый элемент в массиве имеет несколько свойств. Одно из их конкретных свойств, о котором я забочусь, это listItemStatus .

В идеале я хотел бы сгенерировать экземпляр selectedListItems для каждого Person in People , чтобы я мог изменять только этот отдельный Person объект listItemStatus indexPath.row . Тем не менее, я бы также хотел, чтобы эти экземпляры обновлялись сами, если в глобальном массиве selectedListItems что-то добавлено или удалено, без сброса каких listItemStatus -либо уже измененных параметров.

Это мой глобальный массив:

 var selectedListItems = [
    RealmListItem(value: ["A", "Dog", 4, 1, true]),
        RealmListItem(value: ["A", "Squirrel", 3, 1, true]),
        RealmListItem(value: ["B", "A ", 3, 1, true]),
        RealmListItem(value: ["B", "B-", 2, 1, true]),
        RealmListItem(value: ["M", "Art", 5, 1, true]),
        RealmListItem(value: ["M", "Sculpture", 1, 1, true]),
        RealmListItem(value: ["P", "Hitler", 2, 1, true]),
        RealmListItem(value: ["P", "Mao Zedong", 5, 1, true]),
        RealmListItem(value: ["R", "Aunt", 3, 1, true]),
        RealmListItem(value: ["R", "Nephew", 1, 1, true])
]
  

Построен на основе этого RealmModelObject:

 class RealmListItem: Object {

    dynamic var category = ""
    dynamic var listItem = ""
    dynamic var listItemWeight = Double()
    dynamic var listItemStatus = Double()
    dynamic var isSelected = Bool()
}
  

Я хотел бы иметь экземпляр selectedListItems , созданный для каждого Person , чтобы я мог изменять listItemStatus один и тот же RealmListItem между двумя людьми.

Например, я хотел бы иметь возможность изменить listItemStatus Стива в «Dog» на 2, в то время как listItemStatus Джессики в «Dog» должен быть 0.

Возможно ли это, и если да, то как мне это сделать?

Комментарии:

1. Не могли бы вы предоставить часть вашего связанного кода, потому что из вашего вопроса неясно, что вы собираетесь делать.

2. @Dmitry конечно, извиняюсь за неясность. Я отредактировал свой пост, чтобы показать часть кода и, надеюсь, достаточно подробно, чтобы моя цель была понятна!

3. К сожалению, мне все еще не совсем ясно: (Но я думаю, что если вы хотите, чтобы у каждого Person были свои собственные RealmListItem , вы должны использовать для этого отношения, пожалуйста, ознакомьтесь с документами по адресу: realm.io/docs/swift/latest/#relationships