Tests已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
Released最新发布 | 2017年12月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✓ |
由 Dmitry Volosach 维护。
Pooling 是一个接口,用于实现符合 对象池设计模式 的类
以下说明将帮助您在本地机器上获取项目副本,并用于开发和测试目的。有关如何在实际系统上部署项目的说明,请参阅 部署。
CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它
$ gem install cocoapods
要使用 CocoaPods 将 Pooling 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!
target '<Your Target Name>' do
pod 'Pooling', '<release version>'
end
然后,运行以下命令
$ pod install
注意:截至目前,在 SPM 中对 iOS 目标和相关系统库 没有正式支持。所以在处理之前请阅读 这篇文章。
您只需在您的包描述文件中定义 Pooling 依赖
import PackageDescription
let package = Package(
name: "YourPackageName",
products: [
.library(name: "YourPackageName", targets: ["YourPackageName"]),
],
dependencies: [
.package(url: "https://github.com/gitvalue/Pooling.git", from: "1.0.0"),
],
targets: [
.target(
name: "YourPackageName",
dependencies: ["Pooling"]),
.testTarget(
name: "YourPackageNameTests",
dependencies: ["Pooling"]),
]
)
然后运行
$ swift fetch
Carthage 是一个去中心化的依赖管理器,它构建您的依赖关系并为您提供二进制框架。
您可以使用以下命令使用 Homebrew 安装 Carthage
$ brew update
$ brew install carthage
要使用 Carthage 将 Pooling 集成到您的 Xcode 项目中,请在您的 Cartfile
中指定它
github "https://github.com/gitvalue/Pooling" ~> 1.0.0
运行 carthage update
以构建框架,并将构建的 Pooling.framework
拖到您的 Xcode 项目中。
有关更多信息,请参阅 这篇文章
如果您不希望使用上述任何依赖管理器,您可以通过将 Pooling.swift、Pool.swift 和 PThreadMutex.swift 源文件复制到您的项目中,手动将 Pooling 集成到项目中。
import UIKit
import Pooling
class MyViewController: UIViewController {
private var pool = Pool(size: 50, creator: { return UILabel(frame: CGRect.zero) })
override func viewDidLoad() {
super.viewDidLoad()
// And now you ready to create your views
let label = pool.borrow()
}
}
Pool 使用闭包来创建对象,所以通常您应该返回使用指定的初始化器创建的对象。当使用子类时尤为重要。
func createPool(forViewsOf type: UIView.Type) -> Pool<UIView> {
return Pool<UIView>(size: 50) {
return type.init(frame: CGRect.zero)
}
}
此存储库使用 SemVer 进行版本控制。有关可用版本,请参阅此存储库的 标签。
本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件