次のように、NSKeyedArchiver から NSString を抽出しようとしています。
NSMutableData *data = [[NSMutableData alloc] init];
NSKeyedArchiver *coder = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];
[coder encodeInt:1 forKey:@"myField"];
[coder finishEncoding];
NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", myString);
問題は、myString が nil であることです (NSLog は '(null)' を出力します)。上記のコードの何が問題になっていますか?
私が読んだ他の投稿では、これは通常、エンコーディングが間違っていることが原因であると述べています (つまり、NSMutableData は UTF-8 とは異なるエンコーディングを使用しています)。さまざまな種類のエンコーディングをすべて試しましたが、まだ運がありません。