EDIT: Хорошо, я решил сохранить массив в userDefaults ... должно быть легко, не так ли? Сохранить:Encode NSMutableArray
NSUserDefaults *userDefs = [NSUserDefaults standardUserDefaults];
[userDefs setObject:videoArray forKey:@"dataArray"];
[userDefs synchronize];
Нагрузка:
NSUserDefaults *userDefs = [NSUserDefaults standardUserDefaults];
videoArray = [[NSUserDefaults standardUserDefaults] mutableArrayValueForKey:@"dataArray"];
[tableview reloadData];
NSLog(@"%@",videoArray);
Класс объектов, которые находятся в массиве:
@interface DEVideoModel : NSObject
@property (copy) NSString *name;
@property (copy) NSImage *thumbnail;
@property (copy) NSDictionary *qualities;
@property (readwrite) float videoSize;
@property (readwrite) float progress;
@property (copy) NSString *filePath;
@property (copy) NSDate *datum;
@end
@synthesize name,filePath,videoSize,qualities,thumbnail,datum,progress;
-(id)init {
self = [super init];
if(self) {
qualities = [[NSDictionary alloc]init];
thumbnail = [[NSImage alloc]init];
}
return self;
}
@end
И мой videoArray есть (нуль), когда я загрузить его?! Я не понимаю. videoArray - это NSMutableArray, а не NSArray.
является метод encodeWithcoder вызывался? –
ah я вижу, encodeWithCoder не получает вызов. Я что-то пропустил ? В моем .h я реализован –
dehlen
Примечание: Вы создали 'NSApplicationSupportDirectory'? Этот каталог не существует по умолчанию в изолированной программной среде приложения. Кроме того, не используйте строковые форматы для создания путей. Используйте 'NSString * path = [appSupportDir stringByAppendingPathComponent: @" DEConvert.dat "];' – rmaddy