我需要你的建议。
我有一个带有表格视图的屏幕,我正在为UITableViewDataSource
使用单独的文件。
我需要的是能够访问UITabBarItem
内的UITableViewDataSource
(因为基于我的tableview上的操作,我将更新我的tableview数据,所以我需要更改我的tabbar上的内容)< / p>
有什么想法吗?
感谢。
要分离我的数据源,在我的控制器中我有:
var toPayDatasource: MyDataSource!
....
tableView.dataSource = mDatasource
tableView.delegate = myDatasource
我的数据源:
class MyDataSource: NSObject, UITableViewDataSource, UITableViewDelegate {
...
}
C.C。
答案 0 :(得分:1)
在两个远离的对象之间发送消息的一种常见机制是使用NSNotificationCenter
。您可以定义自定义事件,并传递更新userInfo
字典中标签栏项所需的任何内容。
答案 1 :(得分:0)
由于您的数据源是独立的,因此您可以为视图控制器创建一个Delegate并将其传递给数据源。类似下面的内容(在为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个点都很抱歉。在手机上输入代码很烦人。