更新 uitableview 数据源和更新标签栏

Updating uitableview datasource and updating tabbar

我需要你的建议。

我有一个带有 table 视图的屏幕,我正在为 UITableViewDataSource 使用一个单独的文件。 我需要的是能够访问我的 UITableViewDataSource 中的 UITabBarItem(因为根据我的 table 视图上的操作,我将更新我的 table 视图数据,所以我需要更改标签栏上的内容)

有什么想法吗?

谢谢。

为了分离我的数据源,在我的控制器中我有:

    var toPayDatasource: MyDataSource!
....
        tableView.dataSource = mDatasource
        tableView.delegate = myDatasource

我的数据源:

class MyDataSource: NSObject, UITableViewDataSource, UITableViewDelegate {
...
}

C.C.

在两个相距很远的对象之间发送消息的一种常见机制是使用 NSNotificationCenter。您可以定义自定义事件并传递更新 userInfo 字典中的选项卡栏项目所需的任何内容。

由于您的数据源是独立的,您可以为视图控制器创建一个委托并将其传递给数据源。类似下面的内容(在为 tableView 设置数据源之后):

mDataSource.tabDelegate = self;

并按以下方式声明/定义委托:

// protocol
protocol TabChangerProtocol {
   // function signatures here
}

// data source
class MyDataSource : /* ... */ {
    var tabDelegate : TabChangerProtocol!;
    // rest here 
}

// view controller
class ViewController : TabChangerProtocol, /* ... */ {
// ...
}

这样您就可以从 MyDataSource 中调用协议函数。

P.S 抱歉所有 3 个点。在手机上输入代码很烦人。