Я столкнулся с нечетным поведением в 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 ];
, а затем я хочу, чтобы разархивировать его. если я использую
я получаю ноль результат, но если я использую:
NSKeyedUnarchiver *unarchiver = [[ NSKeyedUnarchiver alloc ] initForReadingWithData:myData ];
NSString *result = [ unarchiver decodeObjectForKey:@"test" ];
Я получаю строку обратно. Теперь я подумал, что [NSKeyedUnarchiver unarchiveObjectWithData: myData] - это просто метод удобства для [[NSKeyedUnarchiver alloc] initForReadingWithData: myData], но, похоже, он не ведет себя так. Я ошибаюсь.
Благодаря РЕЗА