2011-10-23 2 views
0

plist에서 일부 데이터를 읽으려고하는데 다음과 같은 오류가 나타납니다 : "plist : stream을 읽는 중 오류가 발생했습니다. 형식이 너무 적습니다. -1073751400 "plist : stream을 읽는 중 오류가 발생했습니다. 형식이 너무 작습니다. -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"]]; 

는 PLIST입니다 :

enter image description here

답변

1

내가 잘못 될 수도 있지만 "Excersizes"배열이 사전 자체 내에서 포장되어야하지 않는가? 이다

는이처럼 "Excersizes"배열 주위에 사전 태그를 추가해야한다

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

이 솔루션을 향한

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

포인트의 최소 사용에. 이렇게하면 구문 분석 오류도 해결 될 수 있습니다 ...

관련 문제