Сохранение динамически введенных данных в список - PullRequest
1 голос
/ 14 декабря 2011

У меня есть таблица со списком категорий.если пользователь нажимает кнопку добавления, появляется окно предупреждения с текстовым полем и кнопкой «ОК». И текст, введенный в текстовое поле, должен быть добавлен в представление таблицы. Я могу добавить его, но он не добавляется в 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];
}   

1 Ответ

1 голос
/ 14 декабря 2011

Вы должны записать эти данные в файл plist и затем сохранить их. Надеюсь, вы получаете доступ к файлу из комплекта приложения. Сначала сделайте его копию и сохраните в каталоге Documents. Затем, когда вы добавите новые данные, сохраните эти данные в plist, записав в файл plist каталога документов.

[yourData writeToFile:filePath atomically:YES];

Обновление

Посмотрите, поможет ли этот учебник .

EDIT

Сначала прочитайте данные из plist в массив (изменяемый, чтобы вы могли добавлять к нему объекты) Затем добавьте новые данные в этот массив, используя

[yourArray addObject:someObject];

Затем после добавления всех объектов запишите этот массив в файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...