我可以将表视图的数据源绑定到我的视图模型吗



大多数ViewController有一个tableview,数据源太大了。我可以将数据源移动到viewModel中,因为viewModel也有单元格需要的模型。

我不知道我是否明白你的意思。你希望将tableView的数据源设置为不同于ViewController的类,对吧?

你可以这样做。首先,确保你的类符合UITableViewDataSource协议。像这样:

// In Swift
class MyView: UIView, UITableViewDataSource {
}

// In Objective C, in myview.h
@interface MyView: UIView <UITableViewDataSource>

然后,在你初始化你的视图控制器的某个点显式地设置你的tableView数据源为MyView的一个实例。就像

// In Swift
let myView = MyView()
override func viewDidLoad() {
    tableView.dataSource = myView
}
// In Objective C
@interface ViewController()
@property (strong, nonatomic) MyView *myView;
@end

@implementation ViewController
- (void)viewDidLoad() {
    myView = [[MyView alloc] init];
    tableView.dataSource = myView;
}
@end

相关内容

  • 没有找到相关文章

最新更新