将 NSArray 转换为 NSDictionary
如何使用数组对象的 int 字段作为 NSDictionary
的键,将 NSArray
转换为 NSDictionary
?
How can I convert an NSArray
to an NSDictionary
, using an int field of the array's objects as key for the NSDictionary
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
试试这个魔法:
仅供参考,这是可能的,因为这个内置功能:
Try this magic:
FYI this is possible because of this built-in feature:
这会向
NSArray
添加类别扩展。需要 C99 模式(这是目前的默认模式,但以防万一)。在
.h
文件中,可以被所有人#import
编辑..在
.m
文件中..使用示例:
输出:
This adds a category extension to
NSArray
. NeedsC99
mode (which is the default these days, but just in case).In a
.h
file somewhere that can be#import
ed by all..In a
.m
file..Example use:
Outputs:
这是从员工列表
NSMutableArray
创建NSMutableDictionary
的示例:This is an example of creating a
NSMutableDictionary
from the employee listNSMutableArray
:我创建了一个简单的库,名为 Linq to ObjectiveC,它是使这种类型成为可能的方法的集合问题更容易解决。在您的情况下,您需要 Linq-to-ObjectiveC toDictionary 方法,其中您的 'int' 字段是通过键选择器指定:
这会返回一个字典,其中键由源数组中的
intField
给出。I have created a simple library, called Linq to ObjectiveC, which is a collection of methods that makes this kind of problem much easier to solve. In your case you need the Linq-to-ObjectiveC toDictionary method, where your 'int' field is specified via a key selector:
This returns a dictionary where the keys are given by the
intField
in the source array.