「Ios/swift/TableView/削除並替処理」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「 @IBOutlet weak var tagTableView: UITableView! private var _tags: Array<String> = [] override func viewDidLoad() { super.viewDidLoad() let rig...」) |
細 (Admin がページ「Ios/swfit/TableView/削除並替処理」を「Ios/swift/TableView/削除並替処理」に移動しました) |
||
(同じ利用者による、間の1版が非表示) | |||
行1: | 行1: | ||
@IBOutlet weak var tagTableView: UITableView! | @IBOutlet weak var tagTableView: UITableView! | ||
− | private var _tags: Array<String> = [] | + | private var _tags: Array<String> = ["タイトル1", "タイトル2", "タイトル3"] |
override func viewDidLoad() { | override func viewDidLoad() { | ||
super.viewDidLoad() | super.viewDidLoad() |
2016年8月7日 (日) 01:08時点における最新版
@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) } }