取消归档数据返回空值

时间:2015-11-28 20:42:03

标签: ios objective-c swift nsuserdefaults nskeyedunarchiver

我创建了一个基于之前应用的应用。我试图移动数据。我目前正在使用swift,之前的应用程序正在使用对象c。我正在使用这个全局对象C函数,它本质上是从其他应用程序复制而来的。它能够获取数据并且消息计数是正确的,但是当我查找值时它返回null。见下文。

NSUserDefaults *prefs;
prefs = [NSUserDefaults standardUserDefaults];

NSMutableArray *oldMessages = [prefs objectForKey:@"savedMessages"];

//received
if(oldMessages)
{
    for( NSData *data in oldMessages )
    {
        NSKeyedUnarchiver *customUnarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];
        [customUnarchiver setClass:[myMessage class] forClassName:@"Message"];
        myMessage* message = [customUnarchiver decodeObjectForKey:@"root"];
        [customUnarchiver finishDecoding];

        NSLog(@"message!!!%@", message.messageBody); // returns null, but in previous app it returns a value.
    }
}

return oldMessages;

0 个答案:

没有答案