2011-12-31 17 views
-2

編集した新しいテキストをテキストフィールドtxt1arr2で保存し、replaceメソッドを使用して新しい要素をarry1に置き換えます。しかし、それは動作しません。古い配列を新しい要素で更新したい

arr2 = [[NSMutableArray alloc]init]; 
[arr2 addObject:txt1.text]; 
NSInteger j=0; 
[arry1 replaceObjectAtIndex:j withObject:arr2]; 
[arry1 insertObject:arr2 atIndex:j]; 
txt1.text=[arry1 objectAtIndex:j]; 
+2

達成しようとしていることを正確に説明してください。これまでに書いたことは理解するのが難しいです。また、すべての行を1行に入れないことで読みやすくなるように、コードを書式化してみてください。 Stack Overflowはプログラミングに関する質問を得るのに最適な場所ですが、明確かつ詳細で正確な方法で質問すると、より簡単にお手伝いします。 –

答えて

5

はあなたのコードにはいくつかの問題があります。

NSInteger j = 0; 
[arry1 replaceObjectAtIndex:j withObject:arr2]; 
[arry1 insertObject:arr2 atIndex:j]; 

手段がインデックスでオブジェクトを削除し、1つのステップでのインデックスに新しいオブジェクトを挿入交換します。あなたがしていることは、単純に同じことを2回追加することです。配列(NSLog(@"%@",arry1);)を印刷して、それをテストすることができます。

次の問題:

txt1.text=[arry1 objectAtIndex:j]; 

あなたのarry1オブジェクトでNSArrayを格納しています。ただし、NSTextFieldは、文字列がtextのプロパティであると想定しています。あなたはARR2にそうあなたはこのラインを使用してそれにアクセスできることを格納しています

txt1.text = [[arry1 objectAtIndex:j] objectAtIndex:0]; 

常にあなたが使用しているものの種類や構造に留意してください!

関連する問題