Ошибка чтения plist: поток имел слишком мало байтов, формат: -1073751400 - PullRequest
0 голосов
/ 23 октября 2011

Я пытаюсь прочитать некоторые данные из plist и получаю такую ​​ошибку: «Ошибка чтения plist: поток имеет слишком мало байтов, формат: -1073751400»

Любая помощь будет высоко ценится.

код:

// read property list into memory as an NSData object
    NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
    NSString *errorDesc = nil;
    NSPropertyListFormat format;
    // convert static property liost into dictionary object
    NSDictionary *temp = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&errorDesc];
    if (!temp)
    {
        NSLog(@"Error reading plist: %@, format: %d", errorDesc, format);
    }
    // assign values
    self.excersizesArray = [NSMutableArray arrayWithArray:[temp objectForKey:@"Excersizes"]];

Вот пример:

enter image description here

1 Ответ

1 голос
/ 23 октября 2011

Возможно, я ошибаюсь, но разве массив «Excersizes» не должен быть заключен в сам словарь?

То есть вы должны поместить тег словаря вокруг массива «Excersizes» следующим образом:

<dict>
 <key>Excersizes</key>
 <array>
 ...
 </array>
</dict>

Как минимум, вы используете

self.excersizesArray = [NSMutableArray arrayWithArray: [temp objectForKey: @ "Excersizes"]];

указывает на это решение.Это также может исправить вашу ошибку синтаксического анализа ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...