Mockingbird Toolbox是iOS和Mac OS X应用程序中使用的通用工具代码集合。
工具箱是Gilt Groupe开源项目Mockingbird Library中的最低层模块。
Mockingbird Toolbox包括
(iOS专用)MBBatteryMonitor
类报告设备电源状态和电池电量,当这些值改变时,还在NSNotificationCenter
中发布事件。
MBNetworkMonitor
类提供设备wifi(如果可用)和载体网络当前状态的详细信息,并且还可以配置以在网络状态改变时发布NSNotificationCenter
事件。
Mockingbird Toolbox提供了一个简单但可扩展的缓存架构。
MBThreadsafeCache
类实现了一个基本的内存缓存,它可以安全地在线程之间共享。
一个子类,MBFilesystemCache
,为内存缓存添加了一个文件系统后端。
MBConcurrentReadWriteCoordinator
类使用Grand Central Dispatch提供了一种 enforced Efficiency 的机制,用于强制有序地读/写访问共享资源。
MBThreadLocalStorage
提供了一个用于在不相关的代码单元之间安全共享线程本地存储的界面。该类也可以用作无锁缓存:如NSDateFormatter
实例等昂贵的对象可以在线程本地存储中进行缓存,而不必承担共享对象缓存如MBThreadsafeCache
所需的锁定开销。
Mockingbird Toolbox提供了帮助创建、操作和执行正则表达式的NSString
和NSMutableString
类扩展。
这些扩展利用了MBRegexCache
来重用正则表达式,这可以花费较高的创建成本。
MBMessageDigest
类提供了一种高级API,可以从字符串、NSData
实例、字节数组和文件生成MD5和SHA-1的加密单向散列。
还为NSString
和NSData
提供了类扩展,以便简化从现有对象创建信息摘要。
(仅限iOS) MBNetworkIndicator
类提供了一种协调显示状态栏网络活动指示器的机制。
Mockingbird Toolbox包含创建、检查和操纵颜色的各种实用工具。
工具箱包含了一种UIImage
类扩展,它增加了缩放图像的方法,以及一种UIView
类扩展,用于将视图的内容捕获为UIImage
、CIImage
或CGImageRef
。
MBBitmapPixelPlane
类代表了一个可以单独访问的像素平面,无论底层像素格式如何。这允许直接提取和操纵位图内部的像素数据。
这只是简要的总结。
有关更详细的信息,请从Mockingbird Toolbox API文档开始。
虽然您可以直接将Mockingbird Toolbox中的一些或所有源文件添加到现有项目中,但我们建议使用CocoaPods进行集成。
CocoaPods将允许您只包含Mockingbird Toolbox中实际希望使用的那部分内容,并且这也提供了一个简单的方法来跟进任何关键变更,如果在需要保持到特定版本或一系列版本时,它还提供了版本控制功能。
当您使用CocoaPods集成Mockingbird Toolbox时,您应该使用“库头文件”导入语法引用头文件,例如。
#import <MBToolbox/MBDebug.h>
将来,我们可能会发布Mockingbird Toolbox的二进制版本作为框架;使用上述语法将使您能够无缝地从使用框架过渡。
如果您不使用CocoaPods并将Mockingbird Toolbox源代码直接复制到您的项目中,则需要使用“用户头文件”语法引用这些头文件。
#import "MBDebug.h"
如果您只想使用Toolbox中的一部分内容,我们已提供了一系列CocoaPod子规格,允许您从Mockingbird Toolbox中选择您想要使用的内容。
子规格的添加方法如下
pod 'MBToolbox/BatteryMonitor'
pod 'MBToolbox/BitmapPixelPlane'
上面的行只会向项目中添加Mockingbird Toolbox的BatteryMonitor和BitmapPixelPlane部分。
提供的子规格包括
MBBatteryMonitor
类和相关项MBThreadsafeCache
类和相关项MBFilesystemCache
类和相关项MBConcurrentReadWriteCoordinator
类MBThreadLocalStorage
类MBFieldListFormatter
类MBFieldListFormatter
和 MBFormattedDescriptionObject
类MBBitmapPixelPlane
类和相关项MBRoundedRectTools
类UIColor
类扩展,添加了获取和修改颜色信息的多个方法UIImage
类扩展,添加了缩放图像的方法UIView
类扩展,添加了获取视图内容图像快照的方法MBMessageDigest
类MBMessageDigest
类和一个 NSString
类扩展,提供相关便捷方法MBMessageDigest
类和一个 NSData
类扩展,提供相关便捷方法MBMessageDigest
类和所有相关的类扩展MBNetworkIndicator
类MBNetworkMonitor
服务,是 Reachability
的高级替代品,提供额外的功能MBOperationQueue
类MBOperationQueue
类和各种文件系统操作MBRegexCache
单例NSString
和 NSMutableString
的类扩展,提供使用 MBRegexCache
的便捷方法来处理正则表达式,以提高性能MBServiceManager
单例和 MBService
协议MBSingleton
和 MBInstanceVendor
协议,以及预处理宏 MBImplementSingleton()
,该宏基于 dispatch_once()
提供默认的单例实现MBForceString()
和 MBTrimString()
,以及预处理宏 MBStringify()
NSData
类扩展,为在十六进制字符串与 NSData
实例之间进行转换添加方法,同时也提供了将 NSData
实例解释为各种编码的 NSString
的字节数据的方法NSString
类扩展,添加了使用制表符和任意前缀缩进字符串中个别行的方法UIFont
类扩展,添加了执行常见文本测量任务的方法额外的子规格在 podspec 中声明和文档化。
Mockingbird Toolbox代表了Mockingbird库的基础。
多年来,Gilt Groupe将Mockingbird Library作为其各种iOS项目的基平台进行了使用和改进。
Mockingbird最初由Jesse Boyes创建,称为AppFramework。
AppFramework在Gilt Groupe找到了一个家,最终成为Mockingbird Library。
近年来,Evan Coyne Maloney,Gilt Tech的杰出工程师开发了Mockingbird Library并进行了维护。
Mockingbird Library和Mockingbird Toolbox © 版权所有 2009-2015,Gilt Groupe。
在MIT许可下授权。