0

В моем приложении я загружаю различные типы данных, такие как изображение, аудио, видео, текст. Теперь я хочу, чтобы этот пользователь мог просматривать самые последние 100 предметов, загруженных, даже когда он уходит и снова открывает приложение. Для этого я создам представление, которое будет отображаться в виде таблицы. В представлении таблицы будут заполнены последние 100 загруженных элементов. Теперь я хочу реализовать это через NSUserDefaults. Для изображений, аудио и видео iphone возвращает свой путь или URL-адрес, который мне нужно будет хранить в NSUserDefaults, но представление таблицы должно быть заполнено массивом, поэтому как я могу хранить пути к файлам NSUserDefaults или массиву, а затем извлекать эти элементы для заполнения таблицы. ИЛИ есть ли другой лучший вариант, чем NSUserDefaults, который проще реализовать?Сохранение и извлечение истории iphone

ответ

0

Если данных больше, чем просто, возможно, попробуйте базу данных sqlite. Если это только эти данные, кажется, слишком сложно создать базу данных именно для нее. Вы можете сохранить массив в NSUserDefaults нечто похожее на это:

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"sd"] forKey:@"k"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

NSArray *array = [[NSUserDefaults standardUserDefaults] objectForKey:@"k"]; 
if(array == nil) { 
    //No data 
} 
else { 
    for(NSString *string in array) { 
     NSLog(@"String: %@",string); 
    } 
} 

Жеребьевка назад, если вы хотели бы сохранить пользовательский объект в массиве, вам нужно будет кодировать объекты вручную, подробно описаны в это post

+0

Но как я могу убедиться, что в массиве всегда 100 элементов, и они продолжают заменять новыми новыми? – user2261732

+0

Как только у вас есть массив из NSUserDefaults, измените его, сделайте из него измененный массив. Когда вы его запишете, он перезапишет старый массив. Это зависит от вас, что содержит массив, указанный выше код будет хранить любой базовый класс NSObject, который вы ему даете. – user352891

Смежные вопросы