好的,我有一个程序可以将用户首选项保存在自己的密钥中。所以forKey:textField.text
所以我真的不知道用户在使用什么,他们可以随心所欲地制作,我希望能够拥有一个表视图,可以从程序中获取所有NSUserDefaults并显示它。
我可以制作一个包含所有NSUserDefaults的数组吗?我知道如何显示数组。 这已经解决了!
好的,这就是我解决它的方法,每次用户创建新对象时,它都保存到NSArray并且NSArray保存到NSUserDefaults。我有prepareForSegue,它会将信息提供给tableView,然后显示出来。当按下单元格时,它获取单元格名称,然后输入forKey
然后它就可以了!
在下面的回答问题的帮助下!
感谢那些花时间回答的人!
答案 0 :(得分:1)
您可以将数组设置为userDefaults,实现非常简单。
- (void)viewDidLoad
{
[super viewDidLoad];
[self addTextToUserDefaults:@"hello"];
[self addTextToUserDefaults:@"how are you?"];
[self addTextToUserDefaults:@"hi"];
for (NSString *text in [self textsInUserDefaults]) {
NSLog(@"%@", text);
}
}
- (void)addTextToUserDefaults:(NSString *)aText
{
NSMutableArray *texts = [[[NSUserDefaults standardUserDefaults] objectForKey:@"textArray"] mutableCopy];
if (!texts) {
texts = [NSMutableArray new];
}
[texts addObject:aText];
[[NSUserDefaults standardUserDefaults] setObject:texts forKey:@"textArray"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
- (NSArray *)textsInUserDefaults
{
return [[NSUserDefaults standardUserDefaults] objectForKey:@"textArray"];
}
因此,您只需复制addTextToUserDefaults
和textsInUserDefaults
方法
致电[self addTextToUserDefaults:textField.text];
添加文字,
调用[self textsInUserDefaults]
来检索文本数组。