我读过另一篇文章(归档/取消归档导致 initForReadingWithData 无法理解的归档),您不能在 NSMutableArray 上存储超过 250kBytes。不幸的是,为了使用 NSKeyedUnarchiver 恢复此类数据,您必须使用 NSMutableArray。我正在尝试取回大小约为 500kB 的图像。
MTMessage *message = [NSKeyedUnarchiver unarchiveObjectWithData:data];
我得到的错误是:
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*** - [NSKeyedUnarchiver initForReadingWithData:]:无法理解的存档(0x0、0x10、0x4a、0x46、0x49、0x46、0x0、0x1)”
显然这是一种很常见的情况(尽管我还没有找到解决方案)。你知道如何绕过 NSMutableData 的使用吗?谢谢你。
编辑:实际上它说数据的大小为 524 288 字节,这是正确的,因此问题可能来自取消存档程序。