微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从另一个视图控制器更新 UITableView 数据单元格

如何解决从另一个视图控制器更新 UITableView 数据单元格

一旦用户进入 SecondVC 并且喜欢或不喜欢他们输入的单元格的心脏,我就会尝试更新我的 firstVC“喜欢按钮”状态。我今天尝试了很多不同的方法,但似乎没有一个能正常工作。任何帮助或想法

基本上。用户可以点击一个单元格,然后被定向到另一个视图控制器,他们也可以在那里更改类似按钮的状态。一旦他们返回到 mainVC,我希望点赞按钮显示更改。

我想知道我是想将单元格数据保存在手机本地还是只是将变量来回发送到每个视图控制器。但是,如果我来回发送变量,如何将变量发送回第一个 VC 到特定单元格,并让它知道不再喜欢单元格之类的按钮。我希望我说得通。谢谢大家。在这里仍然不熟悉 swift :)

解决方法

我认为你可以使用委托模式

protocol ViewController2Delegate: class {
    func buttonStatusDidChange(_ viewController2: ViewController2,to status: Bool)
}

将此属性添加到第二个视图控制器:

weak var delegate: ViewController2Delegate?

当按钮状态改变时,调用:

delegate?.buttonStatusDidChange(self,to: true)

使第一个视图控制器符合协议:

extension ViewController1: ViewController2Delegate {
    func buttonStatusDidChange(_ viewController2: ViewController2,to status: Bool) {
        // change the button according to the status
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。