私は質問があります:私は複数のビューで渡すNSMutableArrayを持っています。ビューの1つでは、その配列(NSMutableDictionary)内のオブジェクトの値を編集できます。私はコードを使用してそれを行います:配列内のNSMutableDictionaryを編集する
NSMutableDictionary *tester = [[NSMutableDictionary alloc] initWithDictionary:selectedItem copyItems:YES];
NSMutableString *newLoc = [[NSMutableString alloc] initWithString:locationField.text];
[tester setValue:newLoc forKey:@"Location"];
[selectedList replaceObjectAtIndex:[selectedList indexOfObject:selectedItem] withObject:tester];
問題は、私はこれを持っている、selectedListでそのオブジェクトを置き換えています。それはエラーを与えます*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayI replaceObjectAtIndex:withObject:]: unrecognized selector sent to instance 0xa631e30'
私はselectedListのコピー配列で新しい項目をコピーし、新しい値で再度selectedListを割り当てますが、他のビューは配列(新しい割り当てられた場所)。
TL; DRバージョン:NSMutableArray内で値を編集するにはどうしたらいいですか? ObjectAtIndexを置き換えないのはなぜですか?
編集:実際には変更できませんでした。 私が持っている::それでも、主な疑問は残る
NSMutableDictionary *tester = [[NSMutableDictionary alloc] initWithDictionary:geselecteerdItem copyItems:YES];
[geselecteerdItem setValue:nieuweLoc forKey:@"Location"];
[geselecteerdeLijst replaceObjectAtIndex:[geselecteerdeLijst indexOfObject:tester] withObject:geselecteerdItem];
私が使用している:配列geselecteerdeLijstの指標は明らかにWARNINGLIST内で変更したため[warningList replaceObjectAtIndex:[warningList indexOfObject:geselecteerdeLijst] withObject:keuzeLijst]
が、それは私にoutofboundsエラーになります。何か案は?
が選択されている場合は、選択された配列に辞書が含まれます。あなたのデータ構造を精巧にしてください。あなたはnslogを入れて、値が適切に来ているかどうかを調べることができます。 – Gypsa