2011-07-15 12 views
0

私は10個のボタンを持っていますが、クリックすると値がいくらか増加します。 NSMutableArrayに値を入れたい。しかし、私は、ボタンのインデックスに依存する値を追加したくない、私は無作為に任意のボタンをクリックすると、同じ順序(0からArrayCount)として配列に値を追加したい。ために、例えばiPhoneのボタンタグを使用して値をNSMutableArrayに保存する方法は?

:この場合

 switch (btn.tag) { 
         case 0: 
          itemValue = itemValue + 15;   //item value is 30 
          [amountArray addObject:itemValue];   
          break; 

         case 1: 
          itemValue = itemValue + 30;   //item value is 60 
          [amountArray addObject:itemValue];   
          break; 

         case 2: 
          itemValue = itemValue + 25;   //item value is 50 
          [amountArray addObject:itemValue];   
          break; 

         case 3: 
          itemValue = itemValue + 40;   //item value is 80 
          [amountArray addObject:itemValue];   
          break; 

         case 4:      //item value is 45 
          itemValue = itemValue + 15; 
          [amountArray addObject:itemValue];   
          break; 

、私は、ボタンインデックス4,3,2,1,0の順にボタンをクリックしたと予想される結果の配列は

     {45,80,50,60,30}. 
あります私はこのようなものを使用した場合

  [amountArray replaceObjectAtIndex:btn.tag withObject:itemValue]; 

その結果は、{30,60,50,80,45}です。

しかし、私は通常、arrayCountに0として配列に値を格納します。毎回ボタンをクリックすると、いくつかの値が増加するので、の重複値を許可しないでください。値だけを変更する必要があります。

ありがとうございます!

+0

私は本当にあなたの英語を理解していません。あなたはあなたの質問を修正して修正することができますか、この時点であなたが望むものを知るのは難しいです。 – Cyprian

答えて

0

あなたはすでに、配列のメソッドを使用して、あなたはその値が配列で利用可能であるかどうかを確認する必要があります。また

[amountArray addObject:[NSNumber numberWithInt:itemValue]]; 

を使用する必要が間違っているその配列にint型を追加している

if([array indexOfObject:[NSNumber numberWithInt:itemValue]] == NSNotFound) { 
    //Add object here to mutable array 
} 

かどうか、そして、sortDescripterまたはNSPredicateを使用して配列をソートする必要があります。

1

NSMutableSetは、dublicateを回避します。

代わりに、配列を使用する代わりにNSMutableSetを使用します。

 NSMutableSet *amountSet=[[NSMutableSet alloc]init]; 

     [amountSet addObject:itemValue]; 
関連する問題