我目前正在編寫一個應用程序,它使用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