はるみちゃんのてっくぶろぐ

はるみちゃんのブログだよ。主に技術系の記事を書くよ。

よく使うExtension(1) Array Safe

インデックスの範囲外にアクセスした場合に例外を起こさずにnilを返すExtension

extension CollectionType {
    subscript (safe index: Index) -> Generator.Element? {
        return indices.contains(index) ? self[index] : nil
    }
}
let numbers = [1,2,3,4] 
numbers[safe:2] //2
numbers[safe:5] //nil