我已经定义了一个类并获取一个实例对象(该类实现了nscoding协议),然后在应用终止时通过NSKeyedArchiver将对象存储到文件中,启动该应用时我将从文件中取消归档信息我可以成功获取类实例,并且成员变量的值正确。有一个NSString对象表示文件路径,然后调用[NSFileHandle fileHandleForReadingAtPath:self.filePath],但返回始终为nil并且该文件存在,我不知道为什么,有人知道吗?
类对象:
@interface NormalOperation : NSObject
@property(assign,nonatomic) long long trunkCount;
@property(retain,nonatomic) NSString* filePath;
序列化:
[NSKeyedArchiver archiveRootObject:self.sessionAr toFile:userTransSessionPath];
sessionAr是nsarray,nsarray的对象是nsdictionary,并且有一个密钥存储类实例。
然后反序列化:
[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:dataS error:nil]
然后我反序列化该类实例并调用该类实例的函数,读取该文件的数据,则返回始终为零。
[NSFileHandle fileHandleForReadingAtPath:self.filePath];