3

所以我正在创建一个 NSDictionary 来提供要使用的方法数据,但是键数组中的一些键值并不总是用值填充。假设我有 18 个键(我有)。我可能只在一次通话中使用 5,但在另一个通话中使用 6,甚至在我的代码中的某些点使用全部 18。

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

这是我目前所拥有的,但一旦我尝试阅读 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];

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

任何帮助将不胜感激。

4

2 回答 2

11

NSNull课程就是为此而设计的。您只需要确保将使用该集合的任何内容都会检查NSNull值。

NSArray *objects = [NSArray arrayWithObjects: [NSNull null], manufactureIdString, modelIdString, subModelIdString, [NSNull null], ..., nil];
于 2012-07-24T01:34:16.160 回答
2

NSNull是您正在寻找的。

于 2012-07-24T01:34:17.600 回答