Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 571 - 構造体、添字付け

詳解 Swift 改訂版」を超スローペースで進んでいます。

今日は添字付け、subscriptの使用法を学びました。

基本的に配列要素に対して、添字を使って各要素にアクセスする機能です。「配列には既に添字機能が備わっているのにどうしてsubscriptのような機能が要るのだろう?」なんて、オヤジは深く考えることができませんでした。しかし、この本を読んで納得!

構造体で、色々なデータの集合体をまとめて添字機能でアクセスする方法なんですね。

struct Group {
    let fiveStars = ["Ace", "Gui", "Hawk", "Thunder", "Deen" ]
    var ordinaryMan = "Yuji"
    var changeableMembers = ["Ted", "Lucky", "Modern"]
    subscript(i: Int) -> String {
        get {
            if i > 0 && i < 6 {
                return fiveStars[i-1]
            } else if i > 5 && i < 9 {
                return changeableMembers[i - 6]
            }
            return ordinaryMan
        }
    }
}

こうすると次のように次のように1つのデータとして呼ぶことができます。

f:id:yataiblue:20160126185938j:plain

なんとも便利です。

今日はこれだけ。