可重用对象 1.0

可重用对象 1.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2016年2月
SPM支持SPM

Tom Baranes维护。



  • 作者:
  • Tom Baranes

可重用对象

可重用对象 是创建一个对象并且尽可能多地复用的最简单方法。它允许您避免对如 NSDateFormatterNSNumberFormatter 等昂贵对象的多次分配/初始化,或任何您自定义的对象。

适用于iOS、OS X和tvOS。

示例

let reuseIdentifier = "kDateFormatterIdentifier"      
NSDateFormatter.registerObjectWithIdentifier(reuseIdentifier)
if let dateFormatter = NSDateFormatter.dequeueReusableObjectWithIdentifier(identifier) as? NSDateFormatter,
               reusedDateFormatter = NSDateFormatter.dequeueReusableObjectWithIdentifier(identifier) as? NSDateFormatter {
    print("\(dateFormatter) vs \(reusedDateFormatter)") // <NSDateFormatter: 0x7fd1307125c0> vs <NSDateFormatter: 0x7fd1307125c0>
}

查看示例项目以查看其他示例。

安装

Swift包管理器

可重用对象在SPM上可用。只需将以下内容添加到您的Package文件中即可:

import PackageDescription

let package = Package(
    dependencies: [
        .Package(url: "https://github.com/tbaranes/ReusableObjects.git", majorVersion: 1)
    ]
)

手动安装

只需将Source/*.swift文件拖入您的项目中。

用法

static func registerObjectWithIdentifier(reuseIdentifier: String)
public func registerObjectWithIdentifier(reuseIdentifier: String)

尝试将一个类注册以在任何地方复用它。如果当前对象或标识符无效,则不执行操作。

reuseIdentifier参数不能为nil,也不能为空字符串。

static func unregisterObjectWithIdentifier(reuseIdentifier: String)

通过其标识符注销位置的任意对象。如果对象不存在则不执行任何操作。

static func dequeueReusableObjectWithIdentifier(reuseIdentifier: String) -> AnyObject?

通过其标识符返回一个可复用的NSObject对象。

如果找到任何对象,它会在返回已注册的对象之前注册对象,如果没有发生错误,则返回nil。

接下来

  • [ ] 更好的公共接口
  • [  ] 支持watchOS
  • 您的想法!

贡献

  • 如果您发现了一个 bug,请打开一个 issue
  • 如果您有 功能请求,请打开一个 issue
  • 如果您想 贡献,请提交一个 pull request

许可证

可重用对象在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。