我已閱讀另一篇文章(Archiving/Unarchiving results in initForReadingWithData incomprehensible archive),您不能在NSMutableArray上存儲超過250kBytes。不幸的是,爲了用NSKeyedUnarchiver恢復這些數據,你必須使用NSMutableArray。我試圖找回大小約500kB的圖像。對於NSKeyedUnarchiver的NSMutableData的限制
MTMessage *message = [NSKeyedUnarchiver unarchiveObjectWithData:data];
我得到的錯誤是:
終止應用程序由於未捕獲的異常 'NSInvalidArgumentException',原因:「*** - [NSKeyedUnarchiver initForReadingWithData:]:難以理解的存檔(爲0x0,爲0x10,0x4a ,0x46,0x49,0x46,0x0,0x1)'
顯然這是一個很常見的情況(儘管我還沒有找到解決方案)。你有任何想法如何繞過使用NSMutableData。 謝謝。
編輯:其實它說,數據有524 288字節的大小,這是正確的,所以問題可能來自unarchiver。
是的,正如你在下面發現的那樣,這些字節告訴我們這是一個JFIF/JPEG圖像,而不是一個存檔。 – Rob