EFSafeArray 是一个扩展,用于使数组下标安全,如果索引超出范围,将返回 nil 而不是崩溃。它适用于 iOS
、macOS
、watchOS
和 tvOS
。
要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install
。
EFSafeArray 可通过 CocoaPods 获取。要安装它,只需将以下行添加到你的 Podfile 中
pod 'EFSafeArray'
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 文件。