聲明了全局變量:NSDictionary *dict;。想要將dictionary
添加到array中報錯:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '* -[__NSArrayM insertObject:atIndex:]: object cannot be nil'
dict = @{@"Testcase" : Testcase, @"TestResult" : TestResult,@"Message": Message};
NSMutableArray * myArray = [[NSMutableArray alloc] init];
[myArray insertObject:dict atIndex:TestcaseId];
主要是檢查 Testcase, TestResult, Message 這三個值是否為nil .如果其中有一個為nil,那麼就出報如上的錯誤.
使用NSLog輸出一個dict的值.就可以看到其中的哪一個值為nil.
dict = @{@"Testcase" : Testcase, @"TestResult" : TestResult,@"Message": Message};
NSLog(@"dict is %@",dict);
你可以加入一些你自己的邏輯,比如:當為nil時設置為空串等.這樣至少能保證程序不會再報異常
#define isNil(obj) obj==nil;
dict = @{@"Testcase" : isNil(Testcase) ? @"" : Testcase, @"TestResult" : isNil(TestResult) ? @"" : TestResult,@"Message": isNil(Message) ? @"" : Message};
NSLog(@"dict is %@",dict);