2013-05-17 66 views
0

我宣佈NSDictionary *dict;全球和嘗試添加到arraydictionary但得到一個錯誤:NSInvalidArgumentException同時加入的NSDictionary到的NSArray

終止應用程序由於未捕獲的異常「NSInvalidArgumentException」,原因是:「* - [__NSArrayM insertObject:atIndex:]:對象不能是零」

我的代碼:

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

如何解決這個錯誤?

+1

什麼是'TestcaseId' ..? –

+1

TestcaseId應該小於你的數組數...... – Yashesh

+0

試試這個[myArray addObject:dict]; – yen

回答

4

終止應用程序,多因未捕獲的異常 'NSInvalidArgumentException' 的,原因是:「* - [__ NSArrayM insertObject:atIndex:]:對象不能爲零'

問題:從上面的ErrorMessage,顯然你試圖在你的NSDictionary中加NULL值。

說明:在插入價值NSDictionary的時候,注意不應該是NULL非字符串。您正在努力將Value的變量添加到您的字典中。相反,你應該嘗試添加這樣的:

答:

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

優點:

  1. 這將增加字串值
  2. 當您的變量值爲NULL時,它將添加空值
0
[myArray addobject:dict]; 


or 

[myArray replaceObjectAtIndex:TestcaseId withObject:dict] 
1
dict = [NSDictionary dictionaryWithObjectsAndKeys:Testcase:@"Testcase", TestResult: @"TestResult",Message, @"Message", nil]; 
NSMutableArray * myArray = [[NSMutableArray alloc] init]; 
[myArray insertObject:dict atIndex:TestcaseId]; 

確保TestcaseId是不是比你array count