0

私はNSDictionary *dict;グローバルに宣言し、これを追加しようとしdictionaryましarrayたが、エラーが発生しました:

キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。理由: ' * -[__NSArrayM insertObject:atIndex:]: オブジェクトを 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:]: オブジェクトを nil にすることはできません'

問題:上記のErrorMessageNULLから、値を追加しようとしていることは明らかですNSDictionary

説明:をに挿入するときは、値が非文字列であってはならないことにNSDictionary注意してください。変数の値を辞書に直接追加しようとしています。代わりに、次のように追加してみてください:NULL

答え :

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

利点 :

  1. String-Valueを追加します。
  2. 変数の値が の場合、Empty-Valueが追加されます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 に答える