如何调用encodeWithCoder

Fit*_*tzy 3 serialization objective-c nscoder ios

可能是一个愚蠢的问题 - 怎么encodeWithCoder称呼?我需要用它来保存iphone文件中的对象,我只是不确定它是如何被实际调用的.我必须手动拨打电话吗?如果是这样,我将使用什么作为NScoder参数的输入?

zou*_*oul 5

您不自己调用它,而是使用NSKeyedArchiver:

NSData *serialized = [NSKeyedArchiver archivedDataWithRootObject:foo];
Run Code Online (Sandbox Code Playgroud)

foo你的对象在哪里符合NSCoding.还有一种方法可以将存档对象直接保存到文件中.