安全访问指数

通过向数组添加以下扩展,可以在不知道索引是否在内部边界的情况下访问索引。

extension Array {
    subscript (safe index: Int) -> Element? {
        return indices ~= index ? self[index] : nil
    }
}

例:

if let thirdValue = array[safe: 2] {
    print(thirdValue)
}