簡體   English   中英

如何在iOS的同一Nsmutablearray中存儲舊值和新值

[英]how to store old value and new value in same Nsmutablearray in ios

嗨,我是iOS開發人員的新手。

我有UITableViewUITextField 與在下一個屏幕中顯示此數組相比,我在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。 在執行此操作時,您需要確保注意以下幾點:

  1. 您需要做的第一件事是在將數據添加到全局數組中時,首先從NSUserDefaults中獲取先前的數據並將其添加到全局數組中。
  2. 您需要確保每次將新數據添加到全局數組時,都已將以前的數據從NSUserDefaults添加到全局數組中
  3. 您還需要確保全局數組應該是NSMutable數組,並在初始化此數組時,之后在其中添加NSUserDefaults中的先前值。

希望對您有幫助。

暫無
暫無

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

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