我目前正在编写一个应用程序,它使用Core图形在屏幕上移动对象。一旦物体被移动,它将它们的位置保存在plist中。在加载时,它会从plist中加载对象的位置。如果由于某种原因没有plist或无法从plist加载数据,它会加载默认位置。它可以在模拟器中正常工作,但是在iPad上运行时,它会继续加载默认设置,尽管plists存在。我通过iTunes下载了plists,他们已经更新,但由于某些原因,它不会读取它们?有没有其他人与plists有类似的问题?应用程序在模拟器上工作,但不在iPad上
NSString *error = [[[NSString alloc]init]autorelease];
NSPropertyListFormat format;
NSString *plistName = [[[NSString alloc] initWithFormat:@"nameOfObject%d", [delegate plistSelected]]autorelease];
NSString *plistPath = [[[NSString alloc] init]autorelease];
plistPath = [[NSBundle mainBundle] pathForResource:plistName ofType:@"plist"];
NSData *plistXML = [[NSFileManager defaultManager] contentsAtPath:plistPath];
NSDictionary *plistData = (NSDictionary *)[NSPropertyListSerialization propertyListFromData:plistXML mutabilityOption:NSPropertyListMutableContainersAndLeaves format:&format errorDescription:&error];
if(! plistData){
NSLog(@"error reading the plist: %@ format:%d", error, format);
}
NSArray *arrayOfDictonarys = [[NSArray alloc] initWithArray:[plistData objectForKey:@"DicName"]];
的一些代码显示的代码加载plist。听起来像一个文件名大小写问题。该设备区分大小写。 – Anna
我的一个应用程序完全按照您描述的方式工作,没有任何问题。确认您正在阅读plists并获得您的预期。 – progrmr
这是plist加载的问题。请记住,在设备上,您必须将文件保存在文档目录中。 – 0xSina