2012-07-24 41 views
2

所以我创建了一个NSDictionary,它提供了一个要使用的方法数据,但是keys数组中的某些键值不会总是被值填充..假设我有18个键(其中I做)..我只能在一次通话中使用5,而在另一次通话中使用5,或者在我的代码中的某些时候,甚至全部使用18。NSDictionary add NULL keyvalue

我想知道的是如何将NULL值添加到这些键中,以便稍后当我查看键值对时,我可以看到哪些键需要担心以及哪些可以忘记?所以问题是,如果我想不添加任何/ null的一个关键如何做到这一点,而不会导致错误或思考它的数组末尾无零...

这是我目前,但它给了我一个错误的exe文件错误,只要我尝试阅读NSDicionary

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]; 

只是为了让你知道密钥的名称将被改变,这只是用于测试/例如如何做到这一点。

任何帮助将不胜感激。

+0

[如何在objC中存储nil指针数组?](http://stackoverflow.com/questions/11591504/how-to-store-an-array-of-nil-pointers-in- objc) – dasblinkenlight 2012-07-24 01:43:31

回答

10

NSNull类是为此设计的。您只需确保将使用NSNull值的收集检查。

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

完美谢谢你,我会阅读如何检查NSNull其他地方..谢谢一堆。 – HurkNburkS 2012-07-24 01:35:35

+0

@HurkNburkS不胜感激我们可以提供帮助 – Joe 2012-07-24 01:36:03