我有一个包含类别列表的tableview。如果用户点击添加按钮,则会显示带有文本字段的警报视图,并且“确定”#39;按钮出现。并且在文本字段中输入的文本应该添加到表视图中。我可以添加它但是它没有被添加到plist.so如果我们移动到另一个视图并返回它只是消失。它保持这样。
-(void)viewDidLoad
{
NSString *fileForCategoryList = [[NSBundle mainBundle] pathForResource:kCATEGORY_LIST ofType:kP_List];
self.arrayForCategories = [[NSMutableArray alloc]initWithContentsOfFile:fileForCategoryList];
}
- (void)tableView:(UITableView *)aTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
[self.arrayForCategories removeObjectAtIndex:indexPath.row];
[self.tableViewC reloadData];
}
else if (editingStyle == UITableViewCellEditingStyleInsert)
{
UIAlertView *myAlertView = [[UIAlertView alloc] initWithTitle:kYOUR_TITLE message:kEMPTY delegate:self cancelButtonTitle:kCANCEL otherButtonTitles:kOK, nil];
self.myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12.0, 45.0, 260.0, 25.0)];
[self.myTextField setBackgroundColor:[UIColor whiteColor]];
[myAlertView addSubview:self.myTextField];
[myAlertView show];
[myAlertView release];
}
}
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
if ([self.myTextField text])
{
[self.arrayForCategories addObject:[self.myTextField text]];
}
[self.tableViewC reloadData];
}
答案 0 :(得分:1)
您必须将该数据写入plist文件,然后保存。希望您从应用程序包中访问该文件。最初制作它的副本并将其保存为Documents目录。然后,当您添加新数据时,通过写入文档目录的plist文件将该数据保存到plist中。
[yourData writeToFile:filePath atomically:YES];
<强>更新强>
查看此tutorial是否有帮助。
修改强>
首先将plist中的数据读入一个数组(可变,以便您可以向其中添加对象)。然后使用
将新数据添加到此数组[yourArray addObject:someObject];
然后在添加所有对象后将此数组写入文件。