Я пытаюсь создать сложный словарь, который будет содержать следующие данные:

let teamInfo = [teamId : [teamInit, teamLogo]]
let gameInfo = [gameId : [gameStatus : status]]
                
let temp = NSMutableDictionary(dictionary: teamInfo)
temp.addEntries(from: gameInfo)
                
complexDictionary[weekId] = temp

Я пытаюсь объявить свой сложный словарь как таковой, но возникают проблемы:

var complexDictionary = [String : [String : [String : String]], [String : [Bool : Bool]]] ()
-1
Learn2Code 1 Май 2021 в 23:39

1 ответ

Лучший ответ
var complexDictionary = [String : [String : [String : String]], [String : [Bool : Bool]]] ()

Причина :

Ожидается ':' в словарном литерале

Потому что вы добавляете , между [String : [String : [String : String]]], который является допустимым типом словаря, и [String : [Bool : Bool]], который является другим (и я думаю, вы хотели [String : [String : [Bool : Bool]]]) вот что вам нужно: [String: Any]:

let teamInfo = ["teamId" : ["teamInit", "teamLogo"]]
let gameInfo = ["gameId" : [true : false]]

let temp = NSMutableDictionary(dictionary: teamInfo)
temp.addEntries(from: gameInfo)
                
var complexDictionary: [String : Any] = [:]

complexDictionary["weekId"] = temp // ["teamId": ["teamInit", "teamLogo"], "gameId": [1: 0]]
1
AnderCover 1 Май 2021 в 20:52