0

我想在更改后重新加载(刷新)我的主视图控制器。我将一些数据添加到数据模型中,并在保存操作后将按钮放在主视图上的数据元素上。在第二个控制器中,我创建了一个编辑部分,在其中我更改或删除了基础数据。我的问题是:如何在从基础中删除元素后重新加载主视图。我创建按钮的代码在 mainviewcontroller 中:

 NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Destination" inManagedObjectContext:_managedObjectContext];
    [request setEntity:entity];
    NSError *error = nil;
    mutableFetchResults = [[_managedObjectContext executeFetchRequest:request error:&error] mutableCopy];

    CGFloat y = 130.;

    for (int i = 0; i < [mutableFetchResults count]; i++) {


        UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
        [button setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"ikonki%d.png",i]] forState:UIControlStateNormal];


        [button setTitle:@"Test"  forState:UIControlStateNormal];
        NSLog(@"%@",_destination3.nazwa);
        [button setTitleColor: [UIColor whiteColor] forState: UIControlStateNormal];
        [button setEnabled:YES];

        [button addTarget:self
                   action:@selector(buttonHandler:) 
         forControlEvents:UIControlEventTouchUpInside];

        button.tag = i;
        button.frame = CGRectMake(x, y, 64 , 64); 
4

1 回答 1

1

你知道NSFetchedResultsController吗?转到文档并查看DataSectionTitlesiPhoneCoreDataRecipes示例。在这里你可以找到如何使用这个类。基本上,此类获取您的获取请求,侦听更改,如果您删除/插入/更新/ ...对象,NSManagedObjectContext它会触发您可以更新视图的委托方法。

于 2012-07-20T08:39:37.753 回答