необработанное значение необязательного типа не развернуто

В swift 4. Я создал переменную закрытия, содержащую два словаря параметров и bool.

var completionHandler:([String:Any], Bool)->Void = { dict, success  in
    if sucess {
        print(dict)
    }
}

Вызов переменной закрытия

self.completionHandler(["name":"Gurjinder singh"],true)
0
задан bibscy 20 March 2019 в 15:19
поделиться

1 ответ

Поскольку featureType является необязательным, вы должны добавить ? или !, поскольку ошибка говорит

someDict["featureType"] = featureType?.rawValue ?? "" 

. ] из словаря и ключ не существует, потому что нет дела "".

На самом деле целью перечисления является то, что значение всегда является одним из случаев. Если вам нужен неопределенный случай, добавьте none или unknown или аналогичный.

Это безопасная версия

enum ChatFeatureType: String {
     case none, tenants, leaseholders, residents
}

class Chat {

   var featureType: ChatFeatureType

   init(featureType: ChatFeatureType = .none)
       self.featureType = featureType
   }

   //download data from firebase
   init(dictionary : [String : Any]) {
       featureType = ChatFeatureType(rawValue: dictionary["featureType"] as? String) ?? .none
   }

   func toDictionary() -> [String : Any] {

      var someDict = [String : Any]()
      someDict["featureType"] = featureType.rawValue
      return someDict
  }
}
0
ответ дан vadian 20 March 2019 в 15:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: