我将两个NSMutableArray
对象放入NSDictionary
并尝试序列化,但方法调用返回nil。一个数组addresses
是NSString
个对象的数组。另一个,engines
是一个对象数组,每个对象包含几种数据类型。我正在尝试使用以下代码进行序列化:
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
[dictionary setObject:engAddr forKey:@"engAddr"];
[dictionary setObject:trainList forKey:@"engines"];
NSData *data = [NSPropertyListSerialization dataFromPropertyList:dictionary
format:NSPropertyListXMLFormat_v1_0
errorDescription:&error];
单步执行,调试器显示数组已正确添加到字典中,但在应该序列化字典的行之后显示data = (NSData *) nil
。
我哪里错了?谢谢你的帮助!
答案 0 :(得分:0)
引擎包含哪些对象?
Plist仅支持下面的特定对象。
如果要序列化自定义对象,请通过NSKeyedArchiver将其转换为NSData 为此,对象必须符合NSCoding协议。