У меня есть таблица, и каждая ячейка должна быть связана с массивом внутри словаря.
var buttonAction : [String: [ButtonAction]] = [:]
ниже приведена структура buttonAction
struct ButtonAction: Codable {
var action: String
var array_linked_of_buttons: [[String:String]]
init(action: String, array_linked_of_buttons: [[String:String]]) {
self.action = action
self.array_linked_of_buttons = array_linked_of_buttons
}
}
ПолучаетНемного сложно объяснить весь код, но когда я соединяю две кнопки вместе, я могу получить данные для переменной "singleAction", которую затем можно добавить в словарь действий кнопки "array_linked_of_buttons".
let singleAction = [linkedButtonUUID: connectorMarker.UUIDpic.uuidString, linkedButtonCategory: "", linkedButtonName: connectorMarker.name]
let mainMarkerAction = mainMarker.buttonAction["button actions array"]!
for existingMarker in mainMarkerAction {
actionArray.append(existingMarker)
}
var actionSub = actionArray[indexRowTag].array_linked_of_buttons
if let addAction = actionSub.filter({$0[linkedButtonUUID] == connectorMarker.UUIDpic.uuidString}).first {
print("MARKER Exists", addAction)
} else {
actionSub.append(singleAction)
print("UPDATED MARKER", actionSub)
}
let action = ButtonAction(action: actionArray[indexRowTag].action, array_linked_of_buttons: actionSub)
//ISSUE--?? mainMarker.buttonAction.updateValue(VALUE forKey: "button actions array")
saveData()
IМожно ли определить, какой элемент словаря необходимо отредактировать, но как мне обновить это конкретное значение?Я действительно запутался, если он просто создает новый элемент, но я хочу обновить предыдущий.
Так, например, я хочу добавить "array_linked_buttons" элемента 0 и иметь 4 элемента вместо 3.
Вот так выглядит мой словарь, если это тоже помогает
Я искал других опрошенных, но я все еще решаю его.Любая помощь, указывающая мне правильное направление, очень ценится!