更新 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 个点。在手机上输入代码很烦人。
我需要你的建议。
我有一个带有 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 个点。在手机上输入代码很烦人。