У меня есть Swift.Dictionary
структуру какКак объявить типичный словарь словарей в Swift?
let tests:[ [String:Any] ] = [
[ "f" : test1, "on" : true ],
[ "f" : test2, "on" : false ],
[ "f" : test3, "on" : false ],
[ "f" : test4, "on" : false ],
[ "f" : test5, "on" : false ]
]
, где f
является closure
типа ()->()
и on
является Bool
. Я использую это, чтобы перечислить и eval
закрытия на основе on
значения:
for (_, test) in tests.enumerate() {
if test["on"] as! Bool {
let f:()->()=test["f"] as!()->();
f();
}
}
Как явно объявить эту Swift.Dictionary
структуру для того, чтобы избежать разворачивать и заставить конвертировать с as!
:
let f:()->()=test["f"] as!()->();
Используйте вместо этого кортеж. – matt
Или даже легкая структура (это то, что я делаю в точно подобной ситуации в одном из моих приложений) – matt