我目前将数据添加到NSMutableArray,然后从中回读以填充UITableview。这在模拟器上工作正常,但在设备上测试时它不起作用。该应用程序仍然从plist中读取,因此如果我手动向其添加数据,应用程序会在tableview中显示它。但是不能在app上读取或写入它?
我使用当前代码
newTitle = [NSString stringWithFormat:@"%d_%@",[Daily_QuoteViewController counter], t];
[plistArray addObject:newTitle];
[plistArray writeToFile:filepath atomically: YES];
我已经读过该列表也需要序列化,但是其他人说这不是必要的吗?
感谢任何帮助。
由于
答案 0 :(得分:4)
您确定您的应用对您尝试编写plist的位置具有写入权限吗?模拟器上的文件系统访问与实际设备之间存在差异。
更新:您可以在iPhone Application Programming Guide: A Few Important Application Directories中详细了解适用于您应用的文件夹。 iPhone Application Programming Guide: Getting Paths to Application Directories中描述了获取这些文件夹位置的标准方法。以下是如何获取Documents文件夹并构建其中文件的路径的示例:
NSArray *paths = NSSearchPathForDirectoriesInDomains(
NSDocumentDirectory,
NSUserDomainMask, YES
);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSURL *urla = [NSURL fileURLWithPath:[documentsDirectory
stringByAppendingString:@"/myinfo.plist"]];
您将使用哪个应用程序文件夹取决于文件的实际内容和预期用途。