[swift-evolution] Draft Proposal: count property for enum types
Martin Crossley
martin at crossleys.biz
Sun Jan 17 05:39:22 CST 2016
I’m going to apologise if this has already been proposed a million times before, but I can’t find a way to search the list. I’m a novice here guys :)
I propose adding a read-only ‘count’ property to enum types, that returns the number of cases; modelled on the API for arrays types.
This has been discussed previously in user communities (e.g. see http://stackoverflow.com/questions/27094878/how-do-i-get-the-count-of-a-swift-enum <http://stackoverflow.com/questions/27094878/how-do-i-get-the-count-of-a-swift-enum>) but it seems to me the proposed solutions are a little complex and inelegant.
To answer the question “what problem does this solve?”, I’m thinking of a situation like this - granted, this is a bit artificial, but imagine if there were a very large number of states…)
enum Tristate: Int {
case High = 0
case Low
case Off
mutating func next() {
let nextState = (self.rawValue + 1) % Tristate.count
self = Tristate(rawValue: nextState)!
}
}
thanks, Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20160117/fc201f18/attachment.html>
More information about the swift-evolution
mailing list