Во-первых, убедитесь, что вы не используете устаревшие или устаревшие вызовы методов. В зависимости от конфигурации вашего приложения (это вам решать) вы можете использовать устаревшие вызовы методов; из документов Apple:
propertyListFromData:mutabilityOption:format:errorDescription:
Этот метод устарел и скоро будет устаревшим. ( устарело. Используйте взамен propertyListWithData:options:format:error:
.)
Я не обнаружил утечку памяти после использования рекомендуемого вызова API ... Тестовый код:
NSArray *somearray = @[@"One",@"Two",@"Three"];
NSData *rawCourseArray = [NSKeyedArchiver archivedDataWithRootObject:somearray];
NSPropertyListFormat format;
NSError *anError = nil;
id plist;
plist = [NSPropertyListSerialization propertyListWithData:rawCourseArray options:NSPropertyListImmutable format:&format error:&anError];
if (!plist){
[anError release];
}
NSArray *entries = (NSArray *)plist;
for (NSDictionary *entry in entries)
{
// DO SOMETHING
NSLog(@"%@",entry);
}