gpt4 book ai didi

ios - 使用 Objective-C 从不同的 ViewController 重新加载 TableView

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:23:13 25 4
gpt4 key购买 nike

我不确定如何实现这一点,因此我问这个问题。

我有 2 个名为 abVCxyVC 的 ViewController(VC)。abVC 只包含 TableViewxyVC 只包含一个按钮。

当我在 xyVC 上点击一个按钮时,它应该在 abVC 中重新加载 tableview 而不会移动到那个 abVC

这可能吗?如果是.. 那么请帮助我,该怎么做?

最佳答案

你可以用 block 和 NSNotification 来做到这一点。

使用 block ,您可以按如下方式实现它:

在xyzVC.h中做如下属性:

@property(strong,nonatomic)void(^callBack)();

在 xyzVC.m 中综合这个属性

@synthesize callBack

在按钮点击事件中调用此 block

- (IBAction)btnClick:(UIButton *)sender {

if (callBack)
{
callBack();
}

}

在你想要回调的abcVC中实现它:

[abVC setCallBack:^{
//reload your tableview here
}];

使用 NSNotification,您可以按如下方式实现它:

在abcVC.m中注册接收通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reloadTableView) name:@"ReloadTable" object:nil];

- (void)reloadTableView{
// Reload your tableview here
}

现在发布来自xyzVC的通知

- (IBAction)btnClick:(UIButton *)sender {

[[NSNotificationCenter defaultCenter] postNotificationName:@"ReloadTable" object:nil];

}

注意:如果您正在使用 NSNotification,那么不要忘记在您的 View Controller 关闭时将其删除

希望对你有帮助:)

关于ios - 使用 Objective-C 从不同的 ViewController 重新加载 TableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38480358/

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