如何在ios中的同一个Nsmutablearray中存储旧值和新值

时间:2016-02-10 11:18:35

标签: ios iphone uitableview uitextfield nsarray

嗨,我是Dim StrRange as variant Dim NameofMySheet as string NameofMySheet = "xxxxxx" ' <- Put here the name of your Excel Sheet StrRange = NameofMySheet & "!" & "A1:G12" DoCmd.TransferSpreadsheet TransferType:=acLink, SpreadsheetType:=acSpreadsheetTypeExcel12Xml, _ TableName:=linkSheet, fileName:=Wb.Path & "\" & Wb.name, _ HasFieldNames:=True, Range:= StrRange 开发人员的新手。

我有iOSUITableView。我在textfield中设置了一些不同的值,每个textfield的值存储在UITextField中,而不是在下一个屏幕中显示该数组。显示的数组值非常完美。 但我的问题是当我切换回NSmutablearray屏幕而不是再次在UITableView中设置新值并将这些UITextField值存储在UITextField中。但问题是新值是覆盖旧值。但我希望NSmutablearray中的值存储。

这是我的屏幕截图

enter image description here enter image description here

summaryvc显示完美的数据。但是当我回到屏幕并选择其他项目而不是点击placeorder.but问题是我们无法在摘要屏幕中获得旧的选定项目。

这里是用于在Nsuserdefault中存储数组的按钮操作代码。 global.filteredArray是我的nsmutablearray.dic值是我的字典。

这是我的数组值

NSArray

请帮忙!

2 个答案:

答案 0 :(得分:1)

你必须在课堂而不是你的方法上声明你的数组,你会没事的。

您可以执行以下操作:

-(void)viewDidLoad{
    array = [[NSMutableArray alloc] init];
}

OR

使用NSUserDefaults,它将一直保留到应用程序被删除。

如果您有两个屏幕,如果要从那里编辑阵列,只需将数组引用传递给第二个屏幕即可。

<强> FirstViewController:

设置阵列:

SecondViewController *svc= [[SecondViewController alloc] initWithNibName:@"secondviewcontroller" bundle:nil];
svc.firstViewArray=secondViewArray;

<强> SecondViewController:

@property(nonatomic,retain)NSMutableArray *secondViewArray;

答案 1 :(得分:0)

我可以看到您正在使用全局数组将数据存储到NSUserDefaults。在这样做时,您需要确保这一点:

  1. 首先需要做的是在向全局阵列添加数据时,首先从NSUserDefaults&amp;将它添加到全局数组。
  2. 每次向全局数组添加新数据时都需要确保已将先前数据添加到NSUserDefaults的全局数组中
  3. 还需要确保全局数组应该是NSMutable数组&amp;初始化此数组时,在其中添加NSUserDefaults中的先前值。
  4. 希望它会对你有所帮助。