Обновление до Swift 3.0: контекстный тип ‘AnyObject’ нельзя использовать со словарным литералом

#ios #swift3

#iOS #swift3

Вопрос:

Я обновляю свою кодовую базу до Swift 3.0, и я не могу понять, как исправить ошибку, которую я генерирую при миграции: «Контекстный тип ‘AnyObject’ нельзя использовать со словарным литералом». Любая помощь будет с благодарностью.

 typealias JSONDictionary = Dictionary<String, AnyObject>

func infoDict() -> JSONDictionary {
    return ["users" :
        //the following line generates the error "Contextual type 'AnyObject' cannot be used with dictionary literal"
        ["add" : Array(self.addUserIDs), "del" : Array(self.removeUserIDs)],
            "groups" :
                ["add" : Array(self.addCircleIDs), "del" : Array(self.removeCircleIDs)],
            "friends" : friends,
            "type" : 1
    ]
}
  

Ответ №1:

AnyObject изменено на Any в Swift 3

 typealias JSONDictionary = Dictionary<String, Any>