如何在表格视图中保存单元格?
How do I save cells in tableview?
我正在制作一个 idea/to-do 垫,它使用 UITableView
人们可以在其中添加他们的东西,然后将它们勾选。我已经为单元格指定了名称:'whatsNewItems',我希望它们是 NSMutableArray
的一部分。每次应用程序关闭并从历史记录中删除时,单元格都会恢复为我嵌入代码中的原始三个。我会使用 NSUserDefaults
吗?如果是,我该怎么做?
使用 NSUserDefaults 的诀窍是 而不是 获得 any 数据 "embedded in code"。相反,您应该从一开始就使用 NSUserDefaults 作为数据模型的来源。使用 registerDefaults
在启动时将初始数据放入 NSUserDefaults。然后,在您的 table 视图控制器中,从 NSUserDefaults 加载数据并将其复制到您的 mutable 数组中。这样,如果用户没有进行任何更改(可能是因为这是应用程序的第一次启动),您的初始数据将被使用,如果用户 已经 进行了更改,则更改数据被使用。随后,每当您的应用程序即将后台运行时,将数据写入 NSUserDefaults。
您可以这样使用 NSUserDefaults:
- (void) saveToDo:(NSArray*)items {
[[NSUserDefaults standardUserDefaults] setObject:items forKey:@"user_to_do_items"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (NSArray*) getToDoItems
{
NSArray* items = [[NSUserDefaults standardUserDefaults] arrayForKey:@"user_to_do_items"];
return items;
}
我正在制作一个 idea/to-do 垫,它使用 UITableView
人们可以在其中添加他们的东西,然后将它们勾选。我已经为单元格指定了名称:'whatsNewItems',我希望它们是 NSMutableArray
的一部分。每次应用程序关闭并从历史记录中删除时,单元格都会恢复为我嵌入代码中的原始三个。我会使用 NSUserDefaults
吗?如果是,我该怎么做?
使用 NSUserDefaults 的诀窍是 而不是 获得 any 数据 "embedded in code"。相反,您应该从一开始就使用 NSUserDefaults 作为数据模型的来源。使用 registerDefaults
在启动时将初始数据放入 NSUserDefaults。然后,在您的 table 视图控制器中,从 NSUserDefaults 加载数据并将其复制到您的 mutable 数组中。这样,如果用户没有进行任何更改(可能是因为这是应用程序的第一次启动),您的初始数据将被使用,如果用户 已经 进行了更改,则更改数据被使用。随后,每当您的应用程序即将后台运行时,将数据写入 NSUserDefaults。
您可以这样使用 NSUserDefaults:
- (void) saveToDo:(NSArray*)items {
[[NSUserDefaults standardUserDefaults] setObject:items forKey:@"user_to_do_items"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (NSArray*) getToDoItems
{
NSArray* items = [[NSUserDefaults standardUserDefaults] arrayForKey:@"user_to_do_items"];
return items;
}