EFSafeArray 是一个扩展,用于使数组下标安全,如果索引超出范围,将返回 nil 而不是崩溃。它适用于 iOSmacOSwatchOStvOS

示例

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

要求

安装

CocoaPods

EFSafeArray 可通过 CocoaPods 获取。要安装它,只需将以下行添加到你的 Podfile 中

pod 'EFSafeArray'

Swift Package Manager

Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,并已集成到 Swift 编译器中。

设置好你的 Swift 包后,添加 EFSafeArray 作为依赖项就像将其添加到你的 Package.swift 文件的 dependencies 值中一样简单。

dependencies: [
    .package(url: "https://github.com/EFPrefix/EFSafeArray.git", .upToNextMinor(from: "6.0.0.0"))
]

使用

var list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
// Get Index
let xxx = list[0]               // xxx: Int = 1
let zzz = list[0~]              // zzz: Int? = 1
let yyy = list[10~]             // yyy: Int? = nil

// Set Index
list[0] = 0                     // list = [0, 2, 3, 4, 5, 6, 7, 8, 9, 0]
list[0~] = 1                    // list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
list[10~] = 10                  // list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

// Get Bounds
let iiii = list[(0...5)~]       // iiii: ArraySlice<Int>? = [1, 2, 3, 4, 5, 6]
let oooo = list[(-1...12)~]     // oooo: ArraySlice<Int>? = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]

// Set Bounds
list[(0...5)~] = [1]            // list = [1, 7, 8, 9, 0]
list[(-1...12)~] = [2, 3, 4, 5] // list = [2, 3, 4, 5]

作者

EyreFree, eyrefree@eyrefree.org

许可证

EFSafeArray 使用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。