您的位置:首页 > 产品设计 > UI/UE

29.UITableViewDataSource详解

2016-03-15 23:41 661 查看

UITableViewDataSource

这节我们介绍UITableViewDataSource, 它用于定义tableView的显示.

下面我们查看它的定义:

public protocol UITableViewDataSource : NSObjectProtocol {

// 设置行数
@available(iOS 2.0, *)
public func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int

// 设置显示的cell
@available(iOS 2.0, *)
public func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell

// 设置分组数, 如果没实现这个方法则是1
@available(iOS 2.0, *)
optional public func numberOfSectionsInTableView(tableView: UITableView) -> Int

// 指定的section的Header的标题
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
// 指定的section的Footer的标题
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, titleForFooterInSection section: Int) -> String?

// Editing

// 指定的indexPath能否编辑行
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool

// Moving/reordering

// 指定的indexPath的行是否能移动
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool

// Index

// 返回右侧的索引标题数组
@available(iOS 2.0, *)
optional public func sectionIndexTitlesForTableView(tableView: UITableView) -> [String]?

// 告诉tableView section右侧索引对应的标题,如"B",1
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, sectionForSectionIndexTitle title: String, atIndex index: Int) -> Int

// Data manipulation - insert and delete support

// 添加/删除后的回调
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath)

// Data manipulation - reorder / moving support
// 行移动回调
@available(iOS 2.0, *)
optional public func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息