VRFoundationToolkit 0.1.3

VRFoundationToolkit 0.1.3

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最后发布2016年2月

Ivan Rublev 维护。



 
依赖于
libextobjc~> 0.4
MAObjCRuntime>= 0
 

  • 作者:
  • Ivan Rublev

此库通过类别、宏和类扩展了 NSFoundation。有效的 Objective-C 开发者的迷你工具包。它可用于 iOS 或 OS X 项目以加快编码。

包含内容

类别

  • NSArray+VRArgument - 将数组的每个元素依次传递给目标对象或类的提供的选择器。
  • NSArray+VRCheckMembers - 检查数组中的所有成员是否为指定的类。
  • NSArray+VRIndexes - 返回传入对象的索引集。
  • NSBundle+VRDisplayName - 获取包含的本地化显示名称,如果名称不可访问,则回退到非 nil 字符串预编译常量。
  • NSDate+VRDurations - 计算两个日期之间多少天、小时、分钟。返回一天结束。按指定的 NSCalendarUnit 单位比较两个日期。对于指定的 NSCalendarUnit 单位返回 NSDateComponents。返回默认 NSCalendar。
  • NSFileManager+VRDocumentsDirectory - 快速访问 Documents 目录和 Temporary 目录的路径。随机文件名生成等。
  • NSMutableDictionary+VRExchangeKeys - 交换字典中的键。
  • NSObject+VRPropertiesProcessing - 使用块处理对象属性。通过属性对任何对象进行哈希、相等以及编码/解码。
  • NSObject+VRProtocolConformation - 检查对象/类是否对协议中要求的所有选择器做出响应。用作对象在委托设置器中的前提条件检查很有用。
  • RTProtocol+VRMethods - 返回协议中定义的函数。
  • NSString+VRmd5 - 字符串的 MD5 哈希。
  • NSTimer+VRWithBlock - 执行块而不是选择器的计时器。
  • NSOperationQueue+VRNamedBlock - 向队列中添加命名块操作。

  • VREnumXXX - 生成具有实用函数的枚举。NSStringFromXXX 通过值返回枚举常量。isValidXXX 检查枚举值的范围。
  • VRLOGxxx - 多级记录和断言宏。可以连接到首选的记录系统。VRPRECONDITIONxxx 宏实现通过合同的轻量级设计。
  • VRKeyName - 将表达式的字符串化转换为 key 用于 -[NSCoder encodeObject:withKey:]。在通过 XCode 自动完成创建名称时非常有用。
  • VRSingleton - 返回单例。
  • VROBJCTYPExxx - 返回通过变量(或类型)传递的对象-C类型字符串表示。VRIS_TYPE_EQUAL_TO_TYPE(V1, V2) 比较两个传入的值/类型的 Objective-C 类型。
  • VRBundledName - 返回包含反向 DNS 包名和字符串末尾传递的 NAME 的 NSString。
  • VRRandom - 通过 random() 的结果返回随机浮点值。

  • VRURLConnectionChecker - 检查默认站点或指定的 URL 是否可通过完成和错误块访问。

函数

  • NSComparisonInvertedResult - 反转比较结果。
  • VRCanPerform - 检查对象是否遵循协议并响应用户选择器。在代理设置中的预条件检查很有用。

要求

iOS SDK 6.0+ 和 OSX SDK 10.8+ 分别是必需的。

libextobjc 是用于 VRLog.hVREnum.h 中的元宏所必需的。 MAObjCRuntime 是用于 NSObject 的 VRProtocolConformation 类别所必需的。

安装

手动安装

  • 为你的项目创建工作空间,如果你还没有,可以通过 Xcode 菜单文件 -> 新建 -> 工作空间来进行。确保你的 .xcworkspace 文件与项目的 .xcodeproj 在同一级别,并且最后一个被添加到工作空间中。
  • 在 Xcode 中打开工作空间。
  • 将此存储库放入你的项目中,例如放置在项目中的 Requirements 子目录中。
git subtree add --prefix=Requirements/VRFoundationToolkit --squash https://github.com/IvanRublev/VRFoundationToolkit.git master
  • 也相应地将依赖项子树放进去。
git subtree add --prefix=Requirements/libextobjc --squash https://github.com/jspahrsummers/libextobjc.git master

git subtree add --prefix=Requirements/MAObjCRuntime --squash https://github.com/mikeash/MAObjCRuntime.git master
  • VRFoundationToolkit.xcodeprojextobjc.xcodeprojMAObjCRuntime.xcodeproj 拖放到工作空间中。
  • 确保 extobjcMAObjCRuntime.xcodeproj 项目中 libextobjc (iOS)MAObjCRuntime_iOS 目标的设置如下:架构设置为“标准架构”和基本 SDK 设置为“最新 iOS”。
  • -ObjC 添加到你的项目构建选项中的“其他链接器标志”。并将 ./Requirements/** 添加到头文件搜索路径。
  • libVRFoundationToolkit.alibextobjc_iOS.alibMAObjCRuntime_iOS.a(或用于 macOS 的 VRFoundationToolkitOSXlibextobjc_OSX.alibMAObjCRuntime.a)添加到你的项目目标的“链接二进制库”部分。
  • #import <VRFoundationToolkit/VRFoundationToolkit.h> 添加到 YourProject-Prefix.pch 或你想要使用它的地方。

现在已准备好使用,构建并运行!

作者

Ivan Rublev,[email protected]

许可证

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