//显示cell
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//检索是否有可复用的cell
var cell:UITableViewCell? = tableView.dequeueReusableCellWithIdentifier("swift") as? UITableViewCell
if cell == nil {
//创建cell
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "swift")
}
//为cell上文本label赋值
cell!.textLabel!.text = sourceArray![indexPath.row]
return cell!
}
//选中单元格触发的事件
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
//先取消选中效果
tableView.deselectRowAtIndexPath(indexPath, animated: true)
//获取当前显示标题
var title:String = sourceArray![indexPath.row]
//弹出一个警告框Controller
var alert:UIAlertController = UIAlertController(title: "警告框", message: "您点击的是\(title)", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "确定", style: UIAlertActionStyle.Default, handler:nil))
self.presentViewController(alert, animated: true, completion: nil)
}
//设置是否可以编辑
func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
//给tableViewCell添加行滑动操作
func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]? {
var showAction:UITableViewRowAction = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "展示") { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
println("打印---->\(self.sourceArray![indexPath.row])")
}
showAction.backgroundColor = UIColor.greenColor()
var deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, title: "删除") { (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
println("删除")
}
deleteAction.backgroundColor = UIColor.redColor()
return [deleteAction,showAction]
}
//设置编辑模式
func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.Delete
}
//处理编辑模式
func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) {
}
//设置单元格是否可以移动
func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
return true
}
//移动单元格操作
func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {
//表格改变
tableView.moveRowAtIndexPath(sourceIndexPath, toIndexPath: destinationIndexPath)
//数据源改变
var dest = sourceArray![destinationIndexPath.row]
sourceArray![destinationIndexPath.row] = sourceArray![sourceIndexPath.row]
sourceArray![sourceIndexPath.row] = dest
}