测试已测试 | ✓ |
语言编程语言 | 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文件。