Все NSUserDefaults, все в tableview

Итак, у меня есть программа, в которой он сохраняет предпочтения пользователей в собственном ключе. Итак forKey:textField.text

Поэтому я действительно не знаю, что использует пользователь, они могут сделать столько, сколько захотят, я хочу иметь представление таблицы, которое может получить все NSUserDefaults из программы и отобразить его.

Могу ли я создать массив со всеми NSUserDefaults? Я знаю, как отображать массив. Это было РЕШЕННО!

Итак, так я решил это, каждый раз, когда пользователь создавал новый объект, он сохраняет NSArray и NSArray сохраняется в NSUserDefaults. Я подготовилForSegue, который предоставит информацию в tableView, и он появится. Когда ячейка нажата, она получает имя ячейки и входит в forKey а затем она работает!

С некоторой помощью от ответа на вопрос ниже!

Спасибо людям, которые нашли время ответить!

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] чтобы получить массив текстов.

licensed under cc by-sa 3.0 with attribution.