Swift не может обновить массив в структуре при цикле - PullRequest
0 голосов
/ 04 мая 2019

У меня следующий код:

struct UserWorkoutsStruct {
        var workouts: [WorkoutEntity]
        var jsonKey: String
    }

func makeDataForSections(serverResponse: NSDictionary, completion: @escaping WorkoutsBySections) {

        let mine = UserWorkoutsStruct(workouts: [], jsonKey: "your")
        let last = UserWorkoutsStruct(workouts: [], jsonKey: "last")
        let today = UserWorkoutsStruct(workouts: [], jsonKey: "today")
        let other = UserWorkoutsStruct(workouts: [], jsonKey: "other")

        let allUserWorkouts = [mine, last, today, other]

        for var userWorkout in allUserWorkouts {

            if let workouts = serverResponse[userWorkout.jsonKey] as? [[String: Any]] {
                workouts.forEach { (element) in
                    let workout = WorkoutEntity.mr_import(from: element)
                    userWorkout.workouts.append(workout)
                }
            }
        }

        completion(mine.workouts, today.workouts, last.workouts, other.workouts)
    }

, но все mine.workouts, today.workouts, last.workouts, other.workouts содержат 0 элементов.

Но в цикле я вижу, что userWorkout.workouts.append добавляет элементы в массив.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...