CCNewCollectionViewController

CCNewCollectionViewController

我尝试使用核心数据插入项目后重新加载我的表视图控制器。我正在使用情节提要来呈现我的模式视图控制器,并设置目标视图控制器的委托以准备进行搜索,但是我认为这是问题所在,因为未触发我的didAddCollection方法。我不确定我在这里想念的是什么。我使用iOS TableView Reload after dismissing modal作为当前代码的基础。

在我的CCNewCollectionViewController.h中

@protocol NewCollectionDelegate <NSObject>

-(void) didAddCollection;

@end


@interface CCNewCollectionViewController : UIViewController {
    id delegate;
}

@property (nonatomic, retain) id <NewCollectionDelegate> delegate;


在我的CCNewCollectionViewController.m中

@implementation CCNewCollectionViewController

@synthesize delegate;

// save data

[self.delegate didAddCollection];

// dismiss view controller


在我的CollectionTableViewController.m中

@interface CollectionTableViewController () <NSFetchedResultsControllerDelegate, NewCollectionDelegate>

-(void) didAddCollection {

    [self.tableView reloadData];

}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    [[segue destinationViewController] setDelegate:self];
}

最佳答案

一个非常愚蠢的错误。在设置目标视图控制器的委托时,实际上是在设置UINavigationController的委托,而不是CCNewCollectionViewController。

UINavigationController *nc = [segue destinationViewController];
CCNewCollectionViewController *vc = nc.viewControllers[0];
[vc setDelegate:self];


我将我的prepareForSegue代码更改为此,它解决了我的问题!

08-06 00:56