NitroNSDictionaryCategories 1.1.0

NitroNSDictionaryCategories 1.1.0

测试已测试
语言编程语言 Objective-CObjective C
许可 MIT
发布上次发布2014年12月

Daniel L. Alves维护。



NitroNSDictionaryCategories 为 iOS 的 NSDictionary 类型提供解析和实用分类。

解析方法尝试从字典值中解析特定类型。如果无法解析值,则方法返回 nil,因此具有某种类型安全功能。这些方法有两种类型:一种处理 key 作为最终值,另一种处理 key 作为键路径。

跟随键路径是一个强大的功能,它允许用户通过单个命令遍历嵌套的字典和数组。例如,假设我们有以下结构

NSDictionary *backpack = @{ @"items": @[
   // Items 0 - 4
   // ...
   @{
       @"type": @"sword",
       @"name": @"Ultra Lightning Sword of Slashing",
       @"description": @"It slashes and shocks!",
       @"properties": @[
           @{
               @"name": @"lightning",
               @"bonus-damage": @150
           },
           // Other properties
           // ...
       ]
   },
   // Other items
   // ...
]}

我们可以通过单个调用解析超闪电剑的闪电附加伤害。

NSNumber *damage = [backpack numberForKeyPath: @"items/5/properties/0/bonus-damage"];

可用的解析方法包括

  • boolForKey::尝试从键引用的值解析布尔值。它支持数值和字符串。
  • stringForKey::返回键引用的值的字符串表示形式。
  • arrayForKey::尝试从键引用的值解析数组。
  • dictionaryForKey::尝试从键引用的值解析字典。
  • numberForKey::尝试从键引用的值解析数字。
  • dateForKey:withFormatter::尝试从键引用的值解析日期。
  • boolForKeyPath::与 boolForKey: 相同,但将 key 作为键路径处理。
  • stringForKeyPath::与 stringForKey: 相同,但将 key 作为键路径处理。
  • arrayForKeyPath::与 arrayForKey: 相同,但将 key 作为键路径处理。
  • dictionaryForKeyPath::与 dictionaryForKey: 相同,但将 key 作为键路径处理。
  • numberForKeyPath::与 numberForKey: 相同,但将 key 作为键路径处理。
  • dateForKeyPath:withFormatter::与 dateForKey:withFormatter: 相同,但将 key 作为键路径处理。

实用方法包括

  • toPropertyListCompliantDictionary::递归地创建一个新的符合财产列表的字典。
  • hasKey::如果字典包含指定的键,则返回。
  • keyForObject::返回字典中给定对象的键。
  • getFirstNonNullValueOfKeys::在字典中查找第一个非 nil 且不等于 NSNull 的对象。

需求

iOS 4.3 或更高版本,仅限 ARC

安装

NitroNSDictionaryCategories可通过CocoaPods获得,要安装,只需将以下行添加到您的Podfile中

pod "NitroNSDictionaryCategories"

NitroNSDictionaryCategories为使用它的目标添加-ObjC链接器标志。没有它,类别代码将被删除,导致链接器错误。有关静态库中类别的更多信息,请参阅:构建带有类别的Objective-C静态库

作者

许可证

NitroNSDictionaryCategories遵循MIT许可证。有关更多信息,请参阅LICENSE文件。