Когда вы пытаетесь прочитать данные, используя NSPropertyListSerialization
, вы не указываете формат: вы либо передаете NULL, либо передаете адрес памяти переменной.
NSError *error;
NSData * tempData = [[NSData alloc] initWithContentsOfFile:@"Data.plist"];
NSPropertyListFormat plistFormat;
NSDictionary *temp = [NSPropertyListSerialization propertyListWithData:tempData options:NSPropertyListImmutable format:&plistFormat error:&error];
Амперсанд означает «адрес в памяти, где хранится эта переменная» - используя его, вы даете методу возможность записывать в эту ячейку памяти и заменять исходное содержимое переменной.И plistFormat
, и (потенциально) error
будут содержать что-то новое после вызова этого метода: plistFormat
сообщит you , в каком формате был plist, а не наоборот, и error
(который должен относиться к классу NSError
) расскажет вам обо всех обнаруженных ошибках.