小编Giu*_*ala的帖子

解除viewController后重新加载tableView

我有一个带有TableView的ViewController(VCA).从这个ViewController可以调用另一个ViewController(VCB).在第二个VC中,可以将项添加到用于在VCA中填充TableView的plist中.问题是,当我保存新项目并关闭VCB时,我无法在VCA中重新加载TableView.

我找到了很多例子:

如何在Swift中解除模态显示的视图控制器后重新加载ViewController?

在swift中调用dismissViewController后如何调用重载表视图?

如何从swift中的另一个视图控制器重新加载tableview

添加项目后更新TableViewController的数据

解雇Popover后更新第一个视图

在解除弹出窗口后,表视图没有得到更新?

看完之后我尝试了这段代码:

    **IN VCB**

import UIKit 

protocol AddItemDelegateProtocol {
    func didAddItem()
}

class VCB: UIViewController {

    var delegate : AddItemDelegateProtocol?
    ...
}

@IBAction func saveButton(_ sender: Any) {
        .... 
   self.delegate?.didAddItem()
   dismiss(animated: true, completion: nil)     
   }



**In VCA**

class VCA: UIViewController, UITableViewDelegate, UITableViewDataSource, AddItemDelegateProtocol {

let addItemVC = VCB()
...

override func viewDidLoad() {
        super.viewDidLoad()

        addItemVC.delegate = self
        ...
    }

func didAddItem() {
        self.tableView.reloadData()
    }
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我不明白我哪里错了.你可以帮帮我吗?

编辑:我的解决方案 我这样解决了:

我已经创建了一个单例,我在其中声明:

    class DataManager {

        static let …
Run Code Online (Sandbox Code Playgroud)

uitableview uiviewcontroller ios

7
推荐指数
1
解决办法
6442
查看次数

标签 统计

ios ×1

uitableview ×1

uiviewcontroller ×1