<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, May 10, 2017 at 8:52 PM, Saagar Jha via swift-evolution <span dir="ltr">&lt;<a href="mailto:swift-evolution@swift.org" target="_blank">swift-evolution@swift.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>I use a enum (with a Int raw value) for sections in a table view, so whenever the table view asks for the number of rows I pass in the number of cases. Currently, I’m doing something like this:</div><div><br></div><div>enum Sections: Int {</div><div><span class="m_-5809242943656397933Apple-tab-span" style="white-space:pre-wrap">        </span>case section1: 0</div><div><span class="m_-5809242943656397933Apple-tab-span" style="white-space:pre-wrap">        </span>case section2</div><div><span class="m_-5809242943656397933Apple-tab-span" style="white-space:pre-wrap">        </span>case section3</div><div><span class="m_-5809242943656397933Apple-tab-span" style="white-space:pre-wrap">        </span>case _count</div><div>}</div><div><br></div><div>Obviously, this cases issues in switch statements since I need to handle the _count case with an assertion, but other than that it works rather well.</div></blockquote></div><br>Yes, it is useful for Table Views, and for pets projects I have done it, at the expense of handling that case due to exhaustive switches. However as Brent stated, it does not fit well into Swift 4 at this late stage, so maybe if better introspection is introduced in Swift 5 it will fit better.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Just to be clear, if the proposal that Brent stated gets accepted you could do something like this:</div><div class="gmail_extra"><br></div><div class="gmail_extra">let count = Sections.allCases.count<div><br></div><div>And you won&#39;t have to put that assert never again.</div><div><br></div>-- </div><div class="gmail_extra">Víctor Pimentel<div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr" style="font-size:12.8px"><div style="font-size:12.8px"></div></div></div></div></div></div></div></div></div></div>
</div></div>