[英]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.