独自のキー付きNSCoder
サブクラスを実装していますが、NSString のデコードに失敗しています。
次のようなことをすると:
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
atをスローするNSString
とinitWithCoder:
、上記と同じエラーが発生しますが、バージョン番号は 0 です。
メソッドで何を実装する必要があるのか わからないという事実と関係があるのではないかと思いますversionForClassName:
。Archives and Serializations: Subclassing NSCoder referenceからでも、これについて多くを収集することはできません。