Довольно простой фрагмент кода
var dict: [String: AnyObject] = [:]
dict["key"] = "value"
генерирует следующую ошибку времени компиляции
Cannot assign value of type 'String' to type 'AnyObject?'
Простые проверки типов говорят мне, что String
есть AnyObject
"value" is AnyObject // returns true
Я мог бы изменить AnyObject
на Any
, и все будет работать
var dict: [String: Any] = [:]
dict["key"] = "value"
но я хочу понять, почему я получаю ошибку? Является String
больше AnyObject
? Или это ошибка?