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 
> <mailto: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 
> > <mailto: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 <mailto: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 <mailto:rm...@latencyzero.com>
> >
> >
> > _______________________________________________
> > swift-users mailing list
> > swift-users@swift.org <mailto:swift-users@swift.org>
> > https://lists.swift.org/mailman/listinfo/swift-users 
> > <https://lists.swift.org/mailman/listinfo/swift-users>
> >
> 
> 
> --
> Rick Mann
> rm...@latencyzero.com <mailto: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

Reply via email to