<div dir="ltr">Hello everyone,<div><br></div><div>One major pain point I&#39;ve run into with Swift is the inability to evaluate the case of an enum that has associated values in a way that just returns a bool. We&#39;ve been given the ability in a switch statement:</div><div><br></div><div>enum Enum {</div><div>   case a(param: String)</div><div>   case b(param: String)</div><div>}</div><div><br></div><div>let enumeration: Enum = a(param: &quot;Hi&quot;)</div><div>switch enumeration {</div><div>    case a:</div><div>      // Do something</div><div>    case b:</div><div>      // Do something</div><div>}</div><div><br></div><div>We&#39;e been given the ability in the context of an if statement:</div><div><br></div><div><div>enum Enum {</div><div>   case a(param: String)</div><div>   case b(param: String)</div><div>}</div></div><div><br></div><div>let enumeration: Enum = a(param: &quot;Hi&quot;)<br></div><div><br></div><div>if case .a = enumeration { </div><div>    // Do something</div><div>}</div><div><br></div><div>But without a basic was of getting a bool for if an enum is a given case, here&#39;s a list of things I can&#39;t do:</div><div><br></div><div><b>Where statements:</b></div><div><br></div><div><div>enum Enum {</div><div>   case a(param: Enum2)</div><div>   case b(param: Enum2)</div><div>}</div></div><div><br></div><div>enum Enum2 {</div><div>    case c(param: String)</div><div>    case d(param: String)<br></div><div>}</div><div><br></div><div>let enumeration: Enum = a(param: &quot;Hi&quot;)</div><div>switch enumeration {</div><div>    case a(let inner) where [INNER CASE IS .c]</div><div>}</div><div><br></div><div>---------<br></div><div><br></div><div><b>Filter an array for a certain case:</b></div><div><br></div><div>Expertly explained by Erica Sadun here: <a href="http://ericasadun.com/2017/01/31/challenge-filtering-associated-value-enumeration-arrays/">http://ericasadun.com/2017/01/31/challenge-filtering-associated-value-enumeration-arrays/</a></div><div><br></div><div>---------<br></div><div><br></div><div><b>Nicely set a UIButton to hidden if an enum is a certain case:</b></div><div><b><br></b></div><div>enum State {</div><div>    case `default`</div><div>    case searching(results: [Result])</div><div>}</div><div><br></div><div>myButton.isHidden = [STATE IS .searching]</div><div><br></div><div>---------</div><div><br></div><div>I&#39;ve run into this issue a ton of times because I tend to represent my views a State enums. I haven&#39;t seen anything on the board for plans for solving this issue, thought. Has there been any discussion about addressing it? Ideally I&#39;d be able to do this:</div><div><br></div><div><div>enum Enum {</div><div>   case a(param: String)</div><div>   case b(param: String)</div><div>}</div></div><div><br></div><div>let enumeration: Enum = a(param: &quot;Hi&quot;)<br></div><div><br></div><div>case .a = enumeration // Bool</div><div>case .a(let param) = enumeration // Bool, assigns &quot;Hi&quot; to &quot;param&quot;</div><div><br></div><div>Thanks!</div><div>Ethan</div><div><br></div></div>