0

我已经NSDictionary *dict;在全球范围内声明并尝试将其添加dictionaryarray但收到错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“ * -[__NSArrayM insertObject:atIndex:]: object cannot be nil”

我的代码:

dict = @{@"Testcase" : Testcase, @"TestResult" : TestResult,@"Message": Message};
NSMutableArray * myArray = [[NSMutableArray alloc] init];
[myArray insertObject:dict atIndex:TestcaseId];

如何解决这个错误?

4

3 回答 3

4

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[__NSArrayM insertObject:atIndex:]: object cannot be nil”

问题:从上面的ErrorMessage中,很明显您正试图NULL在您的NSDictionary.

说明:在将Value插入您的时NSDictionary,请注意Value不应该是NULLNon-String。您正在尝试将变量值直接添加到您的字典中。相反,您应该尝试像这样添加:

回答 :

[NSString stringWithFormat:@"%@",Testcase];

好处 :

  1. 它将添加String-Value
  2. 当您的变量值为 时,它将添加空值NULL
于 2013-05-17T10:23:27.167 回答
1
dict = [NSDictionary dictionaryWithObjectsAndKeys:Testcase:@"Testcase", TestResult: @"TestResult",Message, @"Message", nil];
 NSMutableArray * myArray = [[NSMutableArray alloc] init];
 [myArray insertObject:dict atIndex:TestcaseId];

确保TestcaseId不超过您的array count

于 2013-05-17T10:16:07.307 回答
0
  [myArray addobject:dict];


or

[myArray replaceObjectAtIndex:TestcaseId withObject:dict]
于 2013-05-17T10:11:33.813 回答