![](/img/trans.png)
[英]How to merge 2 NSDictionaries in NSMutableArray having same value in iOS?
[英]how to store old value and new value in same Nsmutablearray in ios
嗨,我是iOS
开发人员的新手。
我有UITableView
和UITextField
。 与在下一个屏幕中显示此数组相比,我在textfield中设置了一些不同的值,并且在NSmutablearray
设置了每个textfield的值存储。 显示的数组值是完美的。 但是我的问题是当我切换回UITableView
屏幕并再次在UITextField
设置新值并将这些UITextField
值存储在NSmutablearray
问题是新值被覆盖为旧值。 但我想两个值都存储在NSArray
。
这是我的屏幕截图
summaryvc显示完美的数据。但是当我返回到屏幕并选择其他项目而不是单击placeorder。但是问题是我们无法在摘要屏幕中获得旧的选定项目。
这是用于将数组存储在Nsuserdefault中的按钮操作代码。 global.filteredArray是我的nsmutablearray.dic值是我的字典。
这是我的数组值
{
counts = 1;
"m_drycleaning_price" = 12;
"m_id" = 3;
"m_imagename" = d;
"m_iron_price" = 16;
"m_name" = "Coat(Man)";
"m_wash_price" = 14;
"m_washiron_price" = 13;
total = 12;
}
AppDelegate *myAppDelegate = [[UIApplication sharedApplication] delegate];
[myAppDelegate.arrayCounts addObject:dictValues];
myAppDelegate.arrayCounts[indexPath.row][@"counts"] = [NSString stringWithFormat:@"%d",(int)value];
myAppDelegate.arrayCounts[indexPath.row][@"total"] = [NSString stringWithFormat:@"%d",(int)y];
- (IBAction)placeorder:(id)sender
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:global.filteredArray forKey:@"def_orderarraylist"];
NSMutableArray *qualifiersArray = [NSMutableArray arrayWithArray:[userDefaults objectForKey:@"def_orderarraylist"]];
NSLog(@"qualifier array=%@",qualifiersArray);
[userDefaults synchronize];
}
请帮忙!
您必须在类而不是方法上声明数组,这样就可以了。
您可以执行以下操作:
-(void)viewDidLoad{
array = [[NSMutableArray alloc] init];
}
要么
使用NSUserDefaults
,它将一直保留到删除该应用程序为止。
如果您有两个屏幕,则要在此处编辑阵列,只需将数组引用传递到第二个屏幕。
FirstViewController:
设置阵列:
SecondViewController *svc= [[SecondViewController alloc] initWithNibName:@"secondviewcontroller" bundle:nil];
svc.firstViewArray=secondViewArray;
SecondViewController:
@property(nonatomic,retain)NSMutableArray *secondViewArray;
我可以看到您正在使用全局数组将数据存储到NSUserDefaults。 在执行此操作时,您需要确保注意以下几点:
希望对您有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.