Ios/swift/TableView/削除並替処理
提供: 初心者エンジニアの簡易メモ
2016年8月7日 (日) 01:08時点におけるAdmin (トーク | 投稿記録)による版 (Admin がページ「Ios/swfit/TableView/削除並替処理」を「Ios/swift/TableView/削除並替処理」に移動しました)
@IBOutlet weak var tagTableView: UITableView! private var _tags: Array<String> = ["タイトル1", "タイトル2", "タイトル3"] override func viewDidLoad() { super.viewDidLoad() let rightBarButtonItem: UIBarButtonItem = editButtonItem() self.navigationItem.setRightBarButtonItems([rightBarButtonItem], animated: true) } override func setEditing(editing: Bool, animated: Bool) { super.setEditing(editing, animated: animated) tagTableView.editing = editing } // 削除可能判定 func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool { return true } // 削除処理 func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { _tags.removeAtIndex(indexPath.row) tagTableView.deleteRowsAtIndexPaths([NSIndexPath(forRow: indexPath.row, inSection: 0)], withRowAnimation: UITableViewRowAnimation.Fade) } // 並び替え可能判定 func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool { return true } // 並び替え処理 func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) { let targetTitle = _tags[sourceIndexPath.row] if let index = _tags.indexOf(targetTitle) { _tags.removeAtIndex(index) _tags.insert(targetTitle, atIndex: destinationIndexPath.row) } }