【发布时间】:2012-12-02 18:41:05
【问题描述】:
我的问题是我为 iPhone/iPad 制作了一个网络浏览器,并且我在添加书签时测试了书签系统和 tableview plist 数据更新。它适用于模拟器端但是当我使用我的 iPhone 测试应用程序时,它没有显示更新 tableview 我确实通过 xcode 添加了一些数据到 plist 并且我添加的数据显示在 iPhone 上,但仍然没有更新以显示新的您通过应用程序输入的条目 plist 文件称为“bookmarks.plist”有什么问题?
这里是写入bookmarks.plist的代码
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDirectory = [paths objectAtIndex:0];
NSString *plistPath = [documentDirectory stringByAppendingPathComponent:@"bookmarks.plist"];
if (![fileManager fileExistsAtPath:plistPath]) {
plistPath = [[NSBundle mainBundle] pathForResource:@"bookmarks" ofType:@"plist"];
//[[NSFileManager defaultManager] copyItemAtPath:plistPath toPath:plistPath error:NULL];
}
NSMutableArray *dataRoot = [NSMutableArray arrayWithContentsOfFile:plistPath];
NSMutableDictionary *item = [[NSMutableDictionary alloc] init];
[item setObject: _titleField.text forKey:@"title"];
[item setObject:_urlField.text forKey:@"url"];
[dataRoot addObject:item];
[dataRoot writeToFile:plistPath atomically:YES];
【问题讨论】:
-
标点符号。使用它,它很好。至于您的 plist 文件,您确定它不是“Bookmarks.plist”或类似的东西吗? iOS 设备具有区分大小写的文件系统,而 iOS 模拟器在具有标准驱动器格式的 Mac 上运行时则没有。
-
xcode 标题中的文件看起来像这样“bookmarks.plist”
-
在设备上运行时,
plistPath在运行时是否填充或为零? -
plist (plistPath) 在开始时是空的,但是当用户将网站添加到文件时应该填满
标签: iphone uitableview plist simulator bookmarks