[Swift]Swiftのenum型を for-in でイテレーションする方法について

例えばJavaのEnum型などはそのまま以下のようにイテレーションすることが可能なのですが、

public enum Suit {
Spades, Hearts, Diamonds, Clubs;
}

for (Suit suit : Suit.values()) {
System.out.println(suit.toString());
}


なぜかSwiftのenum型はそのままではイテレーションすることができません。
教えてください。
2015-03-06 10:28 コメント
已邀请:
0

iQi - 面白いアプリを開発中

{ 賛成 }:

enum ProductCategory : String {
 case Washers = "washers", Dryers = "dryers", Toasters = "toasters"

 static let allValues = [Washers, Dryers, Toasters]
}

for category in ProductCategory.allValues{
 //Do something
}
2015-03-06 10:33 コメント
Anonymous
0

Anonymous

{ 賛成 }:

enum Suit: Int {
case Spades = 1
case Hearts, Diamonds, Clubs
func simpleDescription() -> String {
    switch self {
    case .Spades:
        return "spades"
    case .Hearts:
        return "hearts"
    case .Diamonds:
        return "diamonds"
    case .Clubs:
        return "clubs"
    }
}
}

for i in Suit.Spades.toRaw()...Suit.Clubs.toRaw() {
if let covertedSuit = Suit.fromRaw(i) {
    let description = covertedSuit.simpleDescription()
}
}
2015-03-06 10:37 コメント

ログインまたは登録してから回答してください

lujian
lujian

Javaが得意です。

@ステータス

  • 更新: 2015-03-06 10:37
  • 閲覧: 1114
  • フォロー: 2
EXIT フルスクリーンモード 回答