読者です 読者をやめる 読者になる 読者になる

Swift,Objective-Cプログラミング ~ iOS ~

Objective-C,Swift,Apple Watchなどのプログラミング

【iOS Swift入門 #282】独自クラスの配列を拡張(extension)する

この記事を読んでわかること

  • 独自クラスの配列を拡張してメソッドを追加する

独自クラスの配列を拡張してメソッドを追加する

まずは独自クラスのAnimalクラスを作成した。
プロパティにnameを持つだけ。

class Animal:NSObject{
    let name: String
    init(name:String) {
        self.name = name
        super.init()
    }
}

Animalクラスの配列を拡張し、 配列内の全てのオブジェクトのnameプロパティを 出力する printAll() メソッドを追加する。

extension Array where Element: Animal{
    func printAll(){
        for animal in self{
            print(animal.name)
        }
    }
}

ポイントとしては、whereを使ってArrayの要素(Element)が
Animal型であることを指定してあげるくらい。

実際に使ってみる。

class Animal:NSObject{
    let name: String
    init(name:String) {
        self.name = name
        super.init()
    }
}

extension Array where Element: Animal{
    func printAll(){
        for animal in self{
            print(animal.name)
        }
    }
}

let dog = Animal(name: "ぽち")
let cat = Animal(name: "みゃー")
[dog, cat].printAll()

// ぽち
// みやー


参考情報

Swift

iOSアプリ開発未経験の人向け
・Swift初心者の人に評判が良いようですね


・わかりやすくていい、と聞いた本
立ち読みした感じだと【アプリ作成未経験の人向け】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】

絶対に挫折しない iPhoneアプリ開発「超」入門【Swift & iOS8.1以降 完全対応】


②を終えたくらいの知識の方向け
・アプリ開発独学中に2冊めに購入した書籍
プログラミング知識はなくても、若干理解するのに時間がかかる程度で、
読み進められるわかりやすさがある。

iPhoneアプリ開発塾

iPhoneアプリ開発塾


③中級者、上級者向け

詳解 Swift

詳解 Swift

詳解 Swift 改訂版

詳解 Swift 改訂版