NSDictionary添加NULL键值

时间:2012-07-24 01:29:19

标签: iphone ios nsarray nsdictionary

所以我正在创建一个NSDictionary来提供要使用的方法数据,但是key数组中的一些键值并不总是用值填充..假设我有18个键(我这样做)..我可能只在一次通话中使用5次,而在另一次通话中使用6次,或者在我的代码中的某些位置使用18次。

我想知道的是如何将NULL值添加到这些键中,以便稍后当我查看键值对时,我可以看到我需要担心哪些键以及哪些键可以忘记?所以问题是,如果我想在键中添加/ null,我该如何做而不会导致错误或认为它的数组结束为零..

这是我目前所拥有的,但是一旦我尝试阅读NSDicionary就会给我一个错误的exe错误

NSDictionary * sendSeriesDictionary = [[NSDictionary alloc] init];

NSArray *keys = [NSArray arrayWithObjects:@"Code", @"MaID", @"MoID", @"SuID",@"SMID",@"Ye",@"KID",@"KBlID",@"KBk",@"CaID",@"Caer",@"Loe",@"Kepe",@"KTGroup",@"Cesc",@"LID",@"IN",@"LaID", nil];


NSArray *objects = [NSArray arrayWithObjects: NULL, manufactureIdString, modelIdString, subModelIdString, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, nil];

sendSeriesDictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];

只是为了让您知道密钥名称将被更改,这仅用于测试/示例如何执行此操作。

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:10)

NSNull类就是为此而设计的。您只需要确保使用集合检查NSNull值。

NSArray *objects = [NSArray arrayWithObjects: [NSNull null], manufactureIdString, modelIdString, subModelIdString, [NSNull null], ..., nil];

答案 1 :(得分:1)

NSNull正是您要找的。