页码数组 0.8

页码数组 0.8

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最新发布2018年4月
SPM支持 SPM

Alek Åström 维护。



页码数组

Version License Platform

页码数组是一个通用的 Swift 数据结构,可帮助您在(但不限于)UITableViews、UICollectionViews 和 UIPageViewControllers 中实现分页机制。

它是 Objective-C 版本的等价物 AWPagedArray 的 Swift 版本,该版本被用于实现博客文章 流畅分页 - 无更多跳转滚动 中描述的技术。

页码数组表示按页存储的可选元素列表。它实现了所有熟悉的 Swift 集合协议,因此您的数据源可以像使用常规数组一样使用它,同时提供了一个易于使用的 API 来设置检索到的数据页。

// Initialize
var pagedArray = PagedArray<String>(count: 200, pageSize: 20)

// Set data pages
pagedArray.set(elements: ["A" ... "T"], forPage: 1)

// Retrieve data like a normal array containing optional elements
pagedArray.count // 200
pagedArray[0] // "A"
pagedArray[100] // nil

// Iterate
for element: String? in pagedArray {
    // Do magic
}

// Map, filter reduce
pagedArray.filter{ $0 != nil }.map{ $0! }.reduce("", combine:+) // "ABCDE..."

// Convert to array
Array(pagedArray) // ["A", "B", ... nil, nil]

UITableView example

安装

嵌入式框架要求最低部署目标为 iOS 8 或 OS X Mavericks。

要使用 iOS 7 目标的项目中的 PagedArray,您必须直接在您的项目中包含 PagedArray.swift 源文件。

Cocoapods

要使用 Cocoapods 将 PagedArray 集成到 Xcode 项目中,请在 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

pod 'PagedArray'

然后,运行以下命令:

$ pod install

Carthage

Carthage 是一个去中心化的依赖管理器,它可以自动化地将框架添加到您的 Cocoa 应用程序中。

您可以使用下面的命令通过 Homebrew 安装 Carthage:

$ brew update
$ brew install carthage

要使用 Carthage 将 PagedArray 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它。

github "MrAlek/PagedArray"

演示

包含的示例项目展示了一个使用分页数据的 UITableViewController 演示,它可以调整显示大量行。

测试

数据结构经过包含的 XCUnit 测试的彻底测试,但不提供任何保证。

许可证

PagedArray 适用于 MIT 许可证。更多信息请参阅 LICENSE 文件。