ios – self.tableView.delegate = self Swift

前端之家收集整理的这篇文章主要介绍了ios – self.tableView.delegate = self Swift前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有一个UIViewController,我在故事板中连接一个tableView,连接tableview插座,然后通过连接检查器连接数据源和委托方法(cntrl拖动到vc橙色圆圈图标),我还需要添加自我.tableView.delegate = self和self.tableView.datasource = self到实际的视图控制器?当然在实际的vc中我正在实现tableView数据/委托协议.

此外,我假设答案是什么,同样的方式将集合视图控制器通过故事板连接相同的方式?

添加它的优点和缺点是什么?

class FooController:UIViewController,UITableViewDataSource,UITableViewDelegate {

@IBOutlet weak var tableView: UITableView!

override func viewDidLoad() {
    super.viewDidLoad()

    self.tableView.delegate = self
    self.tableView.datasource = self
}


func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { ... }

func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { ... }

}

解决方法

do I still need to add self.tableView.delegate = self to the actual view controller?

不.您是通过在故事板中建立连接来实现此目的的.它们完全相同:对委托属性的赋值,以两种不同的方式表示(一种在代码中,一种在“接口生成器”中以“图形方式”).你只需要做其中一个.

但是如果您的视图控制器是一个表视图控制器(UITableViewController子类),那么您也不会这样做,因为表视图控制器已经是表视图的数据源和委托.对于集合视图控制器(UICollectionViewController子类)也是如此;它已经是集合视图的数据源和委托.

原文链接:/iOS/330992.html

猜你在找的iOS相关文章