на общий тип, как
безопасную типовую версиюэтот ответ.
Это сигнатура метода, которую я ищу:
extension Dictionary where Value == Optional<T> {
func filterNil() -> <Key, T>
}
Есть ли способ выразить это в Swift 3?
Редактировать:
Моя мотивация для создания словаря с дополнительными значениями заключается в том, что мне нужно что-то вроде этого:
struct User {
var mail: String?
var name: String?
func marshaled() -> [String: Any] {
return [
"mail": mail,
"name": name
].filterNil()
}
}
Я предпочитаю буквальный словарь созданию пустого словаря и заполнению значений вручную.