簡體   English   中英

如何使用 iPhone 中的按鈕標簽將值存儲到 NSMutableArray 中?

[英]How to store the value into NSMutableArray using button tags in iPhone?

我有 10 個按鈕,當單擊按鈕時會增加一些值。 我想將值放入 NSMutableArray。 但是我不想添加取決於按鈕索引的值,我想在隨機單擊任何按鈕時將值以相同的順序(0 到 ArrayCount)添加到數組中。

例如:

        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}。

但我想將數組中的值正常存儲為 0 到 arrayCount。 每次單擊按鈕時,都會增加一些值,因此不應允許重復值,必須只更改值。

謝謝!

NSMutableSet 將避免重復。

所以不要使用數組,而是使用 NSMutableSet。

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

       [amountSet addObject:itemValue];

您正在將一個 int 添加到您需要使用的錯誤的數組中

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

您還需要使用數組方法檢查該值是否已在數組中可用

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

與否,稍后您需要使用 sortDescripter 或 NSPredicate 對數組進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM