NSKeyedUnarchiverで奇妙な動作が発生しました。NSKeyedUnarchiverが期待どおりに動作しない
NSMutableData *myData = [ NSMutableData data ];
NSKeyedArchiver *archiver = [[ NSKeyedArchiver alloc ] initForWritingWithMutableData:myData ];
NSString *testString = [ NSString stringWithString:@"Hello World!" ];
[ archiver encodeObject:testString forKey:@"test" ];
[ archiver finishEncoding ];
、その後、私はそれをアーカイブ解除したい:
私はこの例のために、私は単なる文字列を使用して、データをアーカイブします。私は私がnil結果を得るが、私が使用している場合
を使用する場合:
NSKeyedUnarchiver *unarchiver = [[ NSKeyedUnarchiver alloc ] initForReadingWithData:myData ];
NSString *result = [ unarchiver decodeObjectForKey:@"test" ];
私は戻って私の文字列を取得します。今、私は[NSKeyedUnarchiver unarchiveObjectWithData:myData]は[[NSKeyedUnarchiver alloc] initForReadingWithData:myData]の便利なメソッドだと思っていますが、そのように振舞うようには見えません。私が間違っている。
おかげレザ