Я определил класс и получил экземпляр объекта (реализация класса - протокол nscoding). Затем я сохраняю объект с помощью NSKeyedArchiver в файле, когда приложение завершается. Я разархивирую информацию из файла при запуске приложения.Я могу успешно получить экземпляр класса, и значение переменных-членов является правильным. Существует объект NSString, представляющий путь к файлу, затем я вызываю [NSFileHandle fileHandleForReadingAtPath: self.filePath], но возвращаемое значение всегда равно нулю, и файл существует, Я не знаю почему, кто-нибудь знает это?
объект класса:
@interface NormalOperation : NSObject
@property(assign,nonatomic) long long trunkCount;
@property(retain,nonatomic) NSString* filePath;
serialize :
[NSKeyedArchiver archiveRootObject:self.sessionAr toFile:userTransSessionPath];
sessionAr - nsarray, объект nsarray - nsdictionary, и есть ключ для хранения экземпляра класса.
затем десериализация:
[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:dataS error:nil]
, затем в десериализации экземпляра класса и вызова функции экземпляра класса, чтения данных файла, тогда возвращаемое значение всегда равно nil.
[NSFileHandle fileHandleForReadingAtPath:self.filePath];