组合词典:没有选择器的类方法" addEntriesFromDictionary"

时间:2015-08-15 19:38:44

标签: ios dictionary nsmutabledictionary

我正在努力学习一本词典,我想用一系列键(P,SP和RP)创建一个新词典。

我试图创建一个新的NSMutableDictionary,它结合了分别具有P,SP和RP键的所有值的单个词典,但是得到了错误"没有选择器的类方法" addEntriesFromDictionary" "

这是我的代码:

NSMutableDictionary *newDict = [NSMutableDictionary addEntriesFromDictionary:self.allSPPositions];

@interface className ()
- (void)addEntriesFromDictionary:(NSDictionary *)otherDictionary;

@end

@implementation className
- (void)viewDidLoad {

任何帮助或见解将不胜感激!谢谢!

1 个答案:

答案 0 :(得分:1)

编译器正在告诉你究竟出了什么问题。您正在尝试将字典中的项目添加到NSMutableDictionary 。您需要将字典消息中的广告项目发送到NSMutableDictionary的实例

这一行:

NSMutableDictionary *newDict = 
  [NSMutableDictionary addEntriesFromDictionary:self.allSPPositions];

应该阅读

NSMutableDictionary *newDict = 
  [someDictionary addEntriesFromDictionary: self.allSPPositions];

(其中someDictionary是您要添加项目的字典。)

甚至

NSUInteger count = [self.allSPPositions count];
NSMutableDictionary *newDict = 
  [NSMutableDictionary dictonaryWithCapacity: count]; 
[newDict addEntriesFromDictionary: self.allSPPositions];

(因为您的代码似乎试图创建一个新的,可变的字典并添加self.allSPPositions的内容。)

如果你的目标是获得self.allSPPositions的可变副本,那么有一种更简洁的方法:

NSMutableDictionary *mutablePositions = [self.allSPPositions mutableCopy];