Как сопоставить словарь в Swift5? - PullRequest
0 голосов
/ 13 января 2020

Мне нужна помощь:

if let dogFriends = dictionary[Key.dogFriends] as? [String: Int] {
            var newDogFriends = [String: FriendType]()

            dogFriends.forEach {
                newDogFriends[$0.key] = FriendType(rawValue: $0.value)
            }
        }

И я пытаюсь изменить часть своего кода:

        dogFriends.forEach {
            newDogFriends[$0.key] = FriendType(rawValue: $0.value)
        }

В этот код (потому что swiftlint показывает мне предупреждение, я пытаюсь чтобы сократить мой код):

 self.dogFriends = dogFriends.map{ ($0.key,: FriendType(rawValue: $0.value)) }

Выдает следующую ошибку:

Невозможно присвоить значение типа '[String]' типу 'Свойство <[String: FriendType]> '

let dogFriend: [String: Int]

FriendType = enum FriendType : Int

Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 14 января 2020

Вы можете использовать карту. В этой строке

self.dogFriends = dogFriends.map{ ($0.key,: FriendType(rawValue: $0.value)) }

Изменить

self.dogFriends =

на

let newDogFriends =

Вы не можете перезаписать dogFriends другим типом.

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