[swift-users] Compact iteration of optional collection?

Rick Mann rmann at latencyzero.com
Thu Jul 28 16:58:55 CDT 2016


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 <jtbandes at 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 at 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
> rmann at latencyzero.com
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users at swift.org
> https://lists.swift.org/mailman/listinfo/swift-users
> 


-- 
Rick Mann
rmann at latencyzero.com




More information about the swift-users mailing list