0
我正在實現我自己的密鑰NSCoder
的子類和解碼失敗的NSString。NSString不能解碼類的版本XXXX
如果我這樣做了以下內容:
MyUnarchiver *aDecoder = [[MyUnarchiver alloc] initWithData:someArchivedData];
NSString *aString = [[NSString alloc] initWithCoder:aDecoder];
然後將下面的 「未捕獲異常」 被拋出:
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'NSString cannot decode class version 12345'
其中12345是此方法來在MyUnarchiver
,我相信:
-(NSInteger)versionForClassName:(NSString *)className
{
return 12345;
}
同樣,如果我們拋出nil
NSCoder
在NSString
的initWithCoder:
然後我們得到了同樣的錯誤如上,但版本號爲0
我懷疑這可能與事實,我不知道我應該在versionForClassName:
方法來實現做。即使從Archives and Serializations: Subclassing NSCoder參考我無法收集這一點。