Reprint please declare source: http://blog.csdn.net/jinnchang/article/details/45934781
1. Preface
The move (order) implements the following methods:
Set which rows can be moved by Func TableView (Tableview:uitableview, Canmoverowatindexpath indexpath:nsindexpath), bool// Set move operation Func TableView (Tableview:uitableview, Moverowatindexpath Sourceindexpath:nsindexpath, Toindexpath Destinationindexpath:nsindexpath)
Editing (delete, add) implements the following methods:
Set which lines can be edited by Func TableView (Tableview:uitableview, Caneditrowatindexpath indexpath:nsindexpath), Bool // Sets the button style that appears to the left of each line in edit mode func tableView (Tableview:uitableview, Editingstyleforrowatindexpath Indexpath:nsindexpath) Uitableviewcelleditingstyle //Set edit operation (Delete, insert) func TableView (Tableview:uitableview, Commiteditingstyle Editingstyle:uitableviewcelleditingstyle, Forrowatindexpath Indexpath:nsindexpath) //Set slide operation display typeface func TableView (Tableview:uitableview, Titlefordeleteconfirmationbuttonforrowatindexpath indexpath:nsindexpath), String!
2. Demo Example
3. Demo Code
viewcontroller.swift//uitableviewsample-editor////Created by Jinnchang on 15/5/21.//Copyright (c) 2015 Jinn C Hang. All rights Reserved.//import Uikitclass Viewcontroller:uiviewcontroller, uitableviewdelegate, UITableViewDataSource { var tableview:uitableview! var leftbutton:uibarbuttonitem! var rightbutton:uibarbuttonitem! var data:nsmutablearray! Override Func Viewdidload () {super.viewdidload ()//Do any additional setup after loading the view, typical Ly from a nib. Self.title = "singer List" data = ["Leehom Wang", "May Days", "Jay Chou"] LeftButton = Uibarbuttonitem (title: "New", sty Le:UIBarButtonItemStyle.Plain, target:self, Action: "Addaction") Self.navigationItem.leftBarButtonItem = Leftbutt On Rightbutton = Uibarbuttonitem (title: "Edit", Style:UIBarButtonItemStyle.Plain, target:self, action: "EDI Taction ") Self.navigationItem.rightBarButtonItem = RigHtbutton TableView = UITableView (frame:self.view.bounds, Style:UITableViewStyle.Plain) TABLEVIEW.A Llowsselectionduringediting = TRUE//edit allows the row to be selected tableview.delegate = self Tableview.datasource = self Self.view.addSubview (TableView)} override func didreceivememorywarning () {Super.didreceivememoryw Arning ()//Dispose of any of the resources that can is recreated. }//Set the number of rows per segment func TableView (Tableview:uitableview, Numberofrowsinsection section:int), Int {retur N Data.count}//Set specific contents of each line func TableView (Tableview:uitableview, Cellforrowatindexpath Indexpath:nsindexpa TH)-UITableViewCell {var cell = Tableview.dequeuereusablecellwithidentifier ("cell") as? UITableViewCell if (cell = = nil) {cell = UITableViewCell (Style:UITableViewCellStyle.Default, reuseident Ifier: "Cell")} cell!. Textlabel?. Text = Data.objectatindex (Indexpath.row) as? String return cell! }//Selected row operation Func TableView (Tableview:uitableview, Didselectrowatindexpath indexpath:nsindexpath) {if (Ta bleview.editing) {Let cell = Tableview.cellforrowatindexpath (indexpath) let param = cell!. Textlabel?. Text println (param)} tableview.deselectrowatindexpath (Indexpath, Animated:true)}// Sets which rows can be moved by Func TableView (Tableview:uitableview, Canmoverowatindexpath indexpath:nsindexpath), Bool {ret Urn true}//Set move operation Func TableView (Tableview:uitableview, Moverowatindexpath Sourceindexpath:nsindexpath, Toindexpath destinationindexpath:nsindexpath) {Let Fromrow = sourceindexpath.row let Torow = Destinationin Dexpath.row var obj:anyobject = Data.objectatindex (fromrow) data.removeobjectatindex (Fromrow) Data.insertobject (obj, Atindex:torow)}//set which rows can be edited by the Func TableView (Tableview:uitableview, CaneditrOwatindexpath Indexpath:nsindexpath), Bool {return true}//Set the button style shown to the left of each row in edit mode func TableView ( Tableview:uitableview, Editingstyleforrowatindexpath Indexpath:nsindexpath), Uitableviewcelleditingstyle {R Eturn Uitableviewcelleditingstyle.delete}//Set edit operation (Delete, insert) func TableView (Tableview:uitableview, Commitedit Ingstyle Editingstyle:uitableviewcelleditingstyle, Forrowatindexpath indexpath:nsindexpath) {if (EditingStyle = = Uitableviewcelleditingstyle.delete) {data.removeobjectatindex (Indexpath.row) Tableview.deleterowsat Indexpaths ([Indexpath], WithRowAnimation:UITableViewRowAnimation.Fade)}}//Set slide operation to display the typeface func Tablevi EW (Tableview:uitableview, Titlefordeleteconfirmationbuttonforrowatindexpath indexpath:nsindexpath), String! {return ' delete '}//' edit ' button responds to event func editaction () {if (Editingstate ()) {Rightbutton. title = "Edit" TableviEw.setediting (False, Animated:true)} else {rightbutton.title = "done" tableview.setediting (t Rue, Animated:true)}}///Determines whether currently in the Edit state func editingstate (), Bool {return rightbutton.t Itle = = "Done"}//"Add" button response event func Addaction () {Data.insertobject ("mystic Singer", AtIndex:data.count) var Indexpath = Nsindexpath (forrow:data.count-1, insection:0) tableview.insertrowsatindexpaths ([IndexPath], WI ThRowAnimation:UITableViewRowAnimation.Bottom)}}
Project on GitHub address: Https://github.com/jinnchang/SwiftSamples/blob/master/UITableViewSample-Editor4. Conclusion
Article last updated: May 23, 2015 15:59:57
"Fine" form (UITableView) Summary (4): Edit (Add, delete, move)