#iphone #uitableview #nsuserdefaults
#iPhone #uitableview #nsuserdefaults
Вопрос:
Вот мой код для удаления значения. Просмотр таблицы удаляет запись временно, когда я перезапускаю свое приложение, в нем также отображаются удаленные записи…
-(void)tableView:(UITableView *)atableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
[bookmarks removeObjectAtIndex:indexPath.row];
[tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:UITableViewRowAnimationFade];
[[NSUserDefaults standardUserDefaults] setObject:bookmarks forKey:@"Bookmarks"]; [self.tableView reloadData];
}
}
Пожалуйста, помогите.
Комментарии:
1. вы хотите удалить только определенное значение? или полный список?
2. [[[NSUserDefaults standardUserDefaults] setObject:bookmarks forKey:@»Закладки»] синхронизировать]; добавить это
3. /.m:130: ошибка: значение void не игнорируется, как должно быть в этой строке
4. затем используйте ее следующим образом, как указано NSUserDefaults *prefs = [Стандартные пользовательские настройки]; [настройки setObject:bookmarks forKey:@»Закладки»]; [настройки синхронизации];
Ответ №1:
Попробуйте это :
// Your code
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:bookmarks forKey:@"Bookmarks"];
// saving it all
[prefs synchronize];
Комментарии:
1. Он удаляет записи, но когда я пытаюсь добавить запись, он не добавляет alwaysNSMutableArray *bookmarks = [[[NSUserDefaults standardUserDefaults] arrayForKey:@»Bookmarks»] изменяемая копия]; if (!bookmarks) { bookmarks = [[NSMutableArray alloc] init]; } [bookmarks AddObject:[[[запрос веб-браузера самостоятельно] URL] absoluteString ]]; [[NSUserDefaults standardUserDefaults] setObject:закладки для ключа:@»Bookmarks»]; [выпуск закладок];
2. Вы выделяете память для закладок в if (!bookmarks). Как насчет другого условия. Если вы освобождаете массив вне if(){}, вам нужно выделить для него память.
3. Я использовал ваш код ответа для вставки пользовательского значения по умолчанию, и он работает нормально. спасибо за помощь