Я помещаю два объекта NSMutableArray
в файл NSDictionary
и пытаюсь выполнить сериализацию, но вызов метода возвращает nil. Один массив, addresses
, представляет собой массив объектов NSString
. Другой, engines
- это массив объектов, каждый из которых содержит несколько типов данных. Я пытаюсь сериализации, используя следующий код:NSPropertyListSerialization возвращает нуль вместо сериализованных данных
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
.
Куда я иду не так? Спасибо за помощь!
Я должен добавить, что я также попытался использовать 'format: NSPropertyListBinaryFormat_v1_0' с тем же результатом. – BrianJ
Двигатель содержит пользовательский объект? Если да, вам нужно соответствовать протоколу NSCoding в этом классе, если это не сработает. –