gpt4 book ai didi

ios - Objective-C - 解除模态后重新加载 TableView 数据

转载 作者:行者123 更新时间:2023-11-29 01:14:47 29 4
gpt4 key购买 nike

在使用核心数据插入项目后,我试图重新加载我的 TableView Controller 。我正在使用 Storyboard 来展示我的模态视图 Controller ,并正在设置目标 View Controller 的委托(delegate)以准备继续,但我相信这就是问题所在,因为我的 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];
}

最佳答案

一个非常愚蠢的错误。在设置目标 View Controller 的委托(delegate)时,我实际上是在设置 UINavigationController 的委托(delegate)而不是 CCNewCollectionViewController。

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

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

关于ios - Objective-C - 解除模态后重新加载 TableView 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35329566/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com