在Objective-C中有一个方便的方法来做一个`dictionary_only`吗?

时间:2015-04-26 19:23:47

标签: objective-c arrays

其中array_only是一个只返回数组中指定键/值对的函数。例如,在Laravel(在PHP中),可以(并且常见)执行以下操作:

$input = [
    'firstName' => 'Joe',
    'lastName' => 'Bloggs',
    'age' => 27,
    'votes' => 1,
];

$names = array_only($input, [
    'firstName',
    'lastName',
];

// $names = [
//    'firstName' => 'Joe',
//    'lastName' => 'Bloggs',
// ];

Objective-C对此有什么作用吗?

编辑:当然,在Objective-C中,我所追求的功能与NSDictionary不是NSArrays有关。所以也许我正在寻找的dictionary_only方法的等价物。

2 个答案:

答案 0 :(得分:5)

dictionaryWithValuesForKeys方法:

[dict dictionaryWithValuesForKeys:@[@"firstName",@"lastName"]]

重要的是要知道这不是NSDictionary方法。它是KVC(键值编码)的一部分。因此,NSObject的每个子类都实现它,而不仅仅是字典。如果您的类符合键值编码,则可以使用此方法获取任意命名属性的值。

答案 1 :(得分:0)