2011-10-18 8 views
0

おそらく基本的な問題ですが、別の配列から配列objectAtIndexを設定しようとしていて、次のエラーが発生します。手伝ってくれてありがとう。xcode他の配列への配列のコピー

[self.appUrl objectAtIndex: 0] = [self.appCell objectAtIndex: 1]; 

答えて

0

NSArray'sは変更できません。オブジェクトを変更したい場合はできます。

NSMutableArray *arrayCopy = [originalArray mutableCopy]; 
[arrayCopy replaceObjectAtIndex:0 withObject:newObject]; 
//assign the changed copy to the original variable name. 
originalArray = arrayCopy; 

だから:

[self.appUrl objectAtIndex: 0] = [self.appCell objectAtIndex: 1]; 

です:

NSMutableArray *copy = [self.appUrl mutableCopy]; 
[copy replaceObjectAtIndex:0 withObject:[self.appCell objectAtIndex:1]]; 
[self.appUrl mutableCopy]; 

それとも単に可変として、あなたの配列を宣言:

@property (nonatomic,retain) NSMutableArray *appUrl; 
+0

コンパイル時にエラーは発生しませんが、実行するとEXC_BAD_ACCESが返されてクラッシュします。 [self.appUrl replaceObjectAtIndex:0 withObject:[self.appCell objectAtIndex:1]]; – Jaume

+0

更新:解決しました。 – Jaume

+0

ええ、ごめんなさい。あなたが置き換えることができないオブジェクトがない場合は、単にaddObject:を使用します。 – NJones

0

あなたはreplaceObjectAtIndexを可変として、配列を宣言してから呼び出すことができます:WithObject

関連する問題