4
値私はこのようなfailable JSON初期化子とオブジェクトにいくつかのJSONを直列化しています:地図のみ非nilの
sections = {
let sectionJsons = json["sections"] as! [[String:AnyObject]]
return sectionJsons.map {
DynamicSection($0)
}
}()
DynamicSectionのinit:
init?(_ json:[String:AnyObject]) {
super.init()
//Boring stuff that can fail
を私は渡されたDynamicSectionsを追加したいですセクションへのinit。どうすればこれを達成できますか?
私はは
return sectionJsons.filter { DynamicSection($0) != nil }.map { DynamicSection($0)! }
ようfilter
+ map
を使用することができますしかし、それは私が避けたいのですがどの、二回DynamicSectionをINITINGにつながります。これを行うための良い方法はありますか?
ありがとうございます! flatMap(Foo.init)について知りませんでした。 –