Iphone 将数据写入plist以用于tablelview
我得到了以下结论: 此plist存储一个数组,该数组将加载到UITableview中,如右图所示 我使用以下代码检索此内容:Iphone 将数据写入plist以用于tablelview,iphone,objective-c,cocoa-touch,Iphone,Objective C,Cocoa Touch,我得到了以下结论: 此plist存储一个数组,该数组将加载到UITableview中,如右图所示 我使用以下代码检索此内容: NSString *path = [[NSBundle mainBundle] pathForResource:@"array" ofType:@"plist"]; vakken = [[NSDictionary alloc] initWithContentsOfFile:path]; naamvakken = [vakken objectForKey:@"Vakke
NSString *path = [[NSBundle mainBundle] pathForResource:@"array" ofType:@"plist"];
vakken = [[NSDictionary alloc] initWithContentsOfFile:path];
naamvakken = [vakken objectForKey:@"Vakken"];
self.array = [naamvakken mutableCopy];
现在,我将此UIAlertview与此Textfield内置功能一起使用,以允许用户创建新行:
使用此代码:
NSString *path = [[NSBundle mainBundle] pathForResource:@"array" ofType:@"plist"];
NSString *list = [[alertView textFieldAtIndex:0]text];
naamvakken = [vakken objectForKey:@"Vakken"];
[array addObject:list];
[array writeToFile:path atomically:YES];
[self.tableView reloadData];
但出于这样或那样的原因,上面的代码将文本存储在TableView中,而不是plist中。我的代码有问题吗<代码>[数组写入文件:原子路径:是]代码>应该这样做吗
另一个问题是,如果用户在tableviewcell上向右滑动,如何从plist中删除字符串
我的
在viewdidload中:
listPath = [[self docsDir]stringByAppendingPathComponent:@"array.plist"];
谢谢 每天在StackOverflow上都会出现一个关于这个问题的问题。问题在于:
NSString *path = [[NSBundle mainBundle] pathForResource:@"array" ofType:@"plist"];
您无法写入应用程序包(出于非常明显的安全原因)。如果要更新plist,请将其写入可写路径,如Documents目录。@user1883396 Docs请。你需要使用NSSearchPaths for Directory Indomains功能。我问这个问题是因为我在internet或apple文档中找不到它。。我只需要一个解决这个问题的方法,现在处理它4个小时…@user1883396我明白了。正如我提到的,请尝试使用“nsSearchPaths FordirectoriesIndomains()”函数。在何处以及如何使用它?我发现:-(NSString*)docsDir{return[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)objectAtIndex:0];}@user1883396在您打算编写时,用此方法的返回值替换Property列表的路径。
listPath = [[self docsDir]stringByAppendingPathComponent:@"array.plist"];
NSString *path = [[NSBundle mainBundle] pathForResource:@"array" ofType:@"plist"];