You can try container?.forEach(), like let bb:[String:Int]? = ["aa":1, "bb":2, "cc":3]
bb?.forEach { print($0) } /* ("aa", 1) ("bb", 2) ("cc", 3) */ Zhaoxin On Fri, Jul 29, 2016 at 6:14 AM, Saagar Jha via swift-users < swift-users@swift.org> wrote: > The nil check and creating an empty array have very similar performance, > in my naïve testing. > > Saagar Jha > > > > On Jul 28, 2016, at 14:59, Jacob Bandes-Storch via swift-users < > swift-users@swift.org> wrote: > > You should test it out — I'd guess there's a good chance it gets optimized > out. > On Thu, Jul 28, 2016 at 2:58 PM Rick Mann <rm...@latencyzero.com> wrote: > >> Yeah, I suppose that works. Feels a bit clunky, like the language lacks >> specific support for this (in that it provides specific support for so many >> other common constructs). But I guess I can make do with that. >> >> I suppose there's a bit of a performance hit, in that constructing an >> empty array and iterating over it is more expensive than a simple nil >> check, but that's unlikely to cause issues in practice. >> >> Thanks. >> >> > On Jul 28, 2016, at 14:56 , Jacob Bandes-Storch <jtban...@gmail.com> >> wrote: >> > >> > How about "for item in someOptionalContainer ?? []" ? >> > >> > On Thu, Jul 28, 2016 at 2:55 PM, Rick Mann via swift-users < >> swift-users@swift.org> wrote: >> > I often call methods that return an optional collection. I then iterate >> over it. The problem is, it's a bit cumbersome to write: >> > >> > if let container = someOptionalContainer >> > { >> > for item in container >> > { >> > } >> > } >> > >> > I wish I could just write >> > >> > for item in someOptionalContainer >> > { >> > } >> > >> > such that if the optional is nil, it just skips the iteration >> altogether. >> > >> > Is there a syntax for that (especially in Swift 3)? >> > >> > >> > -- >> > Rick Mann >> > rm...@latencyzero.com >> > >> > >> > _______________________________________________ >> > swift-users mailing list >> > swift-users@swift.org >> > https://lists.swift.org/mailman/listinfo/swift-users >> > >> >> >> -- >> Rick Mann >> rm...@latencyzero.com >> >> >> _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > > > > _______________________________________________ > swift-users mailing list > swift-users@swift.org > https://lists.swift.org/mailman/listinfo/swift-users > >
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users