gpt4 book ai didi

objective-c - 如何在 NSDictionary 中交换键和值?

转载 作者:太空狗 更新时间:2023-10-30 03:41:29 24 4
gpt4 key购买 nike

我想知道如何反转 NSDictionary。

我见过一些疯狂的代码,比如

NSDictionary *dict = ...;
NSDictionary *swapped = [NSDictionary dictionaryWithObjects:dict.allKeys forKeys:dict.allValues];

根据文档,这是不安全的,因为不能保证 allValuesallKeys 的顺序。

最佳答案

NSDictionary *dict = ...;    
NSMutableDictionary *swapped = [NSMutableDictionary new];
[dictionary enumerateKeysAndObjectsUsingBlock:^(id key, id value, BOOL *stop) {
swapped[value] = key;
}];

请注意,这些值还应符合 NSCopying 协议(protocol)。

关于objective-c - 如何在 NSDictionary 中交换键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243455/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com