当我从文件取消归档对象时,为什么[NSFileHandle fileHandleForReadingAtPath:]返回nil

时间:2019-04-02 10:25:33

标签: ios nskeyedunarchiver nsfilehandle

我已经定义了一个类并获取一个实例对象(该类实现了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];

0 个答案:

没有答案