Добавьте два struct-массива - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь добавить значение моего массива GoalStruct в другой массив, который также является GoalStruct, но с еще одним значением, которое мне нужно для определенного табличного представления.

Итак, я хочу добиться, чтобы новый массив получал все значения из «чистого» массива GoalStruct с одним дополнительным значением.

struct GoalStruct:Codable {
var title: String
var day: Int
var month: Int
var year: Int
var date: String
}

struct SelectedGoalStruct:Codable {
var GoalStruct: GoalStruct
var isSelected: Bool
}

это то, что я пробовал, но не работает, потому что это целый массив:

global.selectedBacklogGoals = SelectedGoalStruct(GoalStruct: global.goalsB, isSelected: false)
//goalsB is a array with all values in it while SelectedBacklogGoals is empty

1 Ответ

2 голосов
/ 29 апреля 2019

Вы должны выполнить итерацию массива global.goalsB и создать SelectedGoalStruct экземпляров

for goal in global.goalsB {
    selectedBacklogGoals.append(SelectedGoalStruct(GoalStruct: goal, isSelected: false))
}

Или

global.selectedBacklogGoals = global.goalsB.map { SelectedGoalStruct(GoalStruct: $0, isSelected: false) }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...