Iphone 将动态输入的数据保存到plist

Iphone 将动态输入的数据保存到plist,iphone,ios,xcode,plist,Iphone,Ios,Xcode,Plist,我有一个带有类别列表的tableview。如果用户点击“添加”按钮,则会出现一个带有文本字段和“确定”按钮的alertview。在文本字段中输入的文本应添加到表视图中。我可以添加它,但它不会添加到plist。因此,如果我们移到另一个视图并返回,它将消失。如何使它保持这样 -(void)viewDidLoad { NSString *fileForCategoryList = [[NSBundle mainBundle] pathForResource:kCATEGORY_LIST o

我有一个带有类别列表的tableview。如果用户点击“添加”按钮,则会出现一个带有文本字段和“确定”按钮的alertview。在文本字段中输入的文本应添加到表视图中。我可以添加它,但它不会添加到plist。因此,如果我们移到另一个视图并返回,它将消失。如何使它保持这样

-(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];
}   

您必须将该数据写入plist文件,然后保存它。希望您是从应用程序包访问该文件。最初制作一份副本并将其保存在Documents目录中。然后,在添加新数据时,通过写入documents目录的plist文件将该数据保存到plist中

[yourData writeToFile:filePath atomically:YES];
更新

看看这是否有帮助

编辑

首先将数据从plist读入一个数组(可变以便可以向其中添加对象)。然后使用将新数据添加到此数组

[yourArray addObject:someObject];

然后在添加所有对象后,将该数组写入文件。

您必须将该数据写入plist文件,然后保存它。希望您是从应用程序包访问该文件。最初制作一份副本并将其保存在Documents目录中。然后,在添加新数据时,通过写入documents目录的plist文件将该数据保存到plist中

[yourData writeToFile:filePath atomically:YES];
更新

看看这是否有帮助

编辑

首先将数据从plist读入一个数组(可变以便可以向其中添加对象)。然后使用将新数据添加到此数组

[yourArray addObject:someObject];

然后在添加所有对象后,将此数组写入文件。

ya thanx将尝试此链接。链接中的代码工作正常,但我无法根据自己的要求对其进行自定义。在该代码中,前4个名称被第2个4替换,但我希望在第1个4之后添加第2个4。该代码用新数据替换现有数组。在你的情况下,你应该将数据添加到你的数组中,然后将其写入文件。这是我从昨天开始尝试的,但无法获得。你能帮我吗?ya thanx的链接将尝试它。链接中的代码工作正常,但我无法根据我的要求自定义它。在该代码中,前4个名称被第2个4替换,但我希望在第1个4之后添加第2个4。该代码用新数据替换现有数组。在您的情况下,您应该将数据添加到阵列中,然后将其写入文件。这是我从昨天开始尝试的操作,但无法获取。您能帮我完成吗?