gpt4 book ai didi

iphone - 将值附加到 NSMutableArray 并保存到 NSUserDefaults

转载 作者:行者123 更新时间:2023-12-01 17:23:49 42 4
gpt4 key购买 nike

我正在为 iPhone 创建一个名称生成器应用程序,这就是我想要做的。

  • 允许用户通过单击保存按钮来保存当前生成的名称。

  • 为了做到这一点,下面是正在发生的事情:
  • 当前的婴儿姓名显示在 UILabel 中.
  • 用户按下“保存”,然后 label.text 值被附加到 NSMutableArray (我认为这在我的代码中不能正常工作)。
  • NSMutableArray然后保存在 NSUserDefaults .
  • 然后将内容加载到另一个 View 中以填充 UITableView细胞。

  • 我的具体问题是,我是否正确处理了这个保存/持久存储过程?这是有问题的片段:
    - (IBAction)saveName:(id)sender {
    // save current baby name to array
    NSMutableArray *babyNameArray = [[NSMutableArray alloc] init];

    [babyNameArray addObject:babyname.text];

    // save list of babynames to nsuserdefaults

    [[NSUserDefaults standardUserDefaults] setObject:babyNameArray forKey:@"My Key"];


    // for testing log names listed in nsuserdefaults
    NSLog(@"%@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);

    }

    这是整个文件内容的粘贴箱链接(带注释): http://pastebin.com/hQRM9Azh

    最佳答案

    每次添加时,您都会从一个空数组 ([[NSMutableArray alloc] init]) 重新开始——而不是从现有项目开始。

    这是一些添加到现有条目的代码:

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSMutableArray *babyNameArray = [[defaults stringArrayForKey:@"My Key"] mutableCopy];
    if (!babyNameArray) babyNameArray = [[NSMutableArray alloc] init];
    [babyNameArray addObject:babyname.text];
    [defaults setObject:babyNameArray forKey:@"My Key"];
    [defaults synchronize];

    关于iphone - 将值附加到 NSMutableArray 并保存到 NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10692504/

    42 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com