应用程序适用于模拟器但不适用于iPad

时间:2011-09-07 12:34:17

标签: objective-c ios ipad

我目前正在编写一个使用Core图形在屏幕上移动对象的应用程序。移动对象后,将其位置保存在plist中。在加载时,它从钳子加载到物体的位置。如果由于某种原因没有plist或者无法从plist加载数据,它会加载默认位置。它在模拟器中工作正常,但在iPad上运行时,它会保持加载默认值,即使存在plists。我通过iTunes下载了plists并且它们已经更新但是由于某种原因它没有读取它们?还有其他人与钳子有类似的问题吗?

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"]];

1 个答案:

答案 0 :(得分:3)

PragamOnce当时是错误的目录。我不知道为什么会这样,但确实如此。我从我的大学得到了一些纠正错误的代码

+(NSString*) pathToDocumentsFolder
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return documentsDirectory;  
}
+(NSString*) pathToFileInDocumentsFolder:(NSString*)filename
{
NSString *pathToDoc = [NSBundle pathToDocumentsFolder];
return [pathToDoc stringByAppendingPathComponent:filename];
}

一旦我实现了这段代码,它就没有问题了

感谢您的帮助

杰克