MBToolbox 1.2.2

MBToolbox 1.2.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2016年3月

Evan Maloney维护。



MBToolbox 1.2.2

  • 作者:
  • Evan Coyne Maloney

Mockingbird Toolbox

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提供了帮助创建、操作和执行正则表达式的NSStringNSMutableString类扩展。

这些扩展利用了MBRegexCache来重用正则表达式,这可以花费较高的创建成本。

信息摘要

MBMessageDigest类提供了一种高级API,可以从字符串、NSData实例、字节数组和文件生成MD5和SHA-1的加密单向散列。

还为NSStringNSData提供了类扩展,以便简化从现有对象创建信息摘要。

网络活动指示器

(仅限iOS) MBNetworkIndicator类提供了一种协调显示状态栏网络活动指示器的机制。

颜色(仅限iOS)

Mockingbird Toolbox包含创建、检查和操纵颜色的各种实用工具。

图像(仅限iOS)

工具箱包含了一种UIImage类扩展,它增加了缩放图像的方法,以及一种UIView类扩展,用于将视图的内容捕获为UIImageCIImageCGImageRef

位图

MBBitmapPixelPlane类代表了一个可以单独访问的像素平面,无论底层像素格式如何。这允许直接提取和操纵位图内部的像素数据。

...还有更多

这只是简要的总结。

有关更详细的信息,请从Mockingbird Toolbox API文档开始。

与Mockingbird Toolbox集成

虽然您可以直接将Mockingbird Toolbox中的一些或所有源文件添加到现有项目中,但我们建议使用CocoaPods进行集成。

CocoaPods将允许您只包含Mockingbird Toolbox中实际希望使用的那部分内容,并且这也提供了一个简单的方法来跟进任何关键变更,如果在需要保持到特定版本或一系列版本时,它还提供了版本控制功能。

导入头文件

当您使用CocoaPods集成Mockingbird Toolbox时,您应该使用“库头文件”导入语法引用头文件,例如。

    #import <MBToolbox/MBDebug.h>

将来,我们可能会发布Mockingbird Toolbox的二进制版本作为框架;使用上述语法将使您能够无缝地从使用框架过渡。

如果您不使用CocoaPods并将Mockingbird Toolbox源代码直接复制到您的项目中,则需要使用“用户头文件”语法引用这些头文件。

    #import "MBDebug.h"

CocoaPod子规格

如果您只想使用Toolbox中的一部分内容,我们已提供了一系列CocoaPod子规格,允许您从Mockingbird Toolbox中选择您想要使用的内容。

子规格的添加方法如下

    pod 'MBToolbox/BatteryMonitor'
    pod 'MBToolbox/BitmapPixelPlane'

上面的行只会向项目中添加Mockingbird Toolbox的BatteryMonitor和BitmapPixelPlane部分。

提供的子规格包括

电池与电源监控
  • BatteryMonitor (仅限iOS) - 包含 MBBatteryMonitor 类和相关项
缓存
  • ThreadsafeCache - 包含 MBThreadsafeCache 类和相关项
  • FilesystemCache - 包含 MBFilesystemCache 类和相关项
并发与线程
  • ConcurrentReadWriteCoordinator - 指定 MBConcurrentReadWriteCoordinator
  • ThreadLocalStorage - 指定 MBThreadLocalStorage
字段格式化
  • FieldListFormatter - 指定 MBFieldListFormatter
  • FormattedDescriptionObject - 指定 MBFieldListFormatterMBFormattedDescriptionObject
图形
  • BitmapPixelPlane - 包含 MBBitmapPixelPlane 类和相关项
  • RoundedRectTools - 指定 MBRoundedRectTools
  • MBToolbox-UIColor (仅限iOS) - 一个 UIColor 类扩展,添加了获取和修改颜色信息的多个方法
  • ImageScaling-UIImage (仅限iOS) - 一个 UIImage 类扩展,添加了缩放图像的方法
  • SnapshotImage-UIView (仅限iOS) - 一个 UIView 类扩展,添加了获取视图内容图像快照的方法
消息摘要
  • MessageDigest - 指定 MBMessageDigest
  • MessageDigest-NSString - 包含 MBMessageDigest 类和一个 NSString 类扩展,提供相关便捷方法
  • MessageDigest-NSData - 包含 MBMessageDigest 类和一个 NSData 类扩展,提供相关便捷方法
  • MessageDigest-Extensions - 包含 MBMessageDigest 类和所有相关的类扩展
网络
  • NetworkIndicator (仅限iOS) - 指定 MBNetworkIndicator
  • NetworkMonitor - 指定 MBNetworkMonitor 服务,是 Reachability 的高级替代品,提供额外的功能
NSOperations
  • OperationQueue - 指定 MBOperationQueue
  • FilesystemOperations - 包含 MBOperationQueue 类和各种文件系统操作
正则表达式
  • RegexCache - 指定 MBRegexCache 单例
  • Regex-NSString - NSStringNSMutableString 的类扩展,提供使用 MBRegexCache 的便捷方法来处理正则表达式,以提高性能
运行时服务
  • ServiceManager - 指定 MBServiceManager 单例和 MBService 协议
单例
  • Singleton - 声明 MBSingletonMBInstanceVendor 协议,以及预处理宏 MBImplementSingleton(),该宏基于 dispatch_once() 提供默认的单例实现
字符串操作
  • 字符串函数 - 声明内联函数 MBForceString()MBTrimString(),以及预处理宏 MBStringify()
  • 字符串与NSData转换 - 一个 NSData 类扩展,为在十六进制字符串与 NSData 实例之间进行转换添加方法,同时也提供了将 NSData 实例解释为各种编码的 NSString 的字节数据的方法
  • 缩进-NSString - 一个 NSString 类扩展,添加了使用制表符和任意前缀缩进字符串中个别行的方法
  • 字符串大小-UIFont(仅iOS)- 一个 UIFont 类扩展,添加了执行常见文本测量任务的方法
...还有更多

额外的子规格在 podspec 中声明和文档化。

关于Mockingbird库

Mockingbird Toolbox代表了Mockingbird库的基础。

多年来,Gilt Groupe将Mockingbird Library作为其各种iOS项目的基平台进行了使用和改进。

Mockingbird Library Module Layers

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许可下授权。