TableView에서 Drag, Drop Delegate를 이용해서 드래그하여 셀 재정렬이 가능한데, DiffableDataSource에서 Drop Delegate 메서드들이 호출이 안 되던 문제.
해결 방법
수정 전 코드
override func viewDidLoad() {
super.viewDidLoad()
tableView.dragDelegate = self
tableView.dropDelegate = self
tableView.dragInteractionEnabled = true
configureDataSource()
configureSnapshot()
}
위와 같이 델리게이트 이후에 DataSource(cellForRowAt과 같음)와 snapshot 설정을 하게 되면
Simulator Screen Recording - iPhone 13 mini - 2021-12-06 at 14.25.49.mp4
override func viewDidLoad() {
super.viewDidLoad()
configureDataSource() //<< 수정
configureSnapshot() //<< 수정
tableView.dragDelegate = self
tableView.dropDelegate = self
tableView.dragInteractionEnabled = true
}
Simulator Screen Recording - iPhone 13 mini - 2021-12-06 at 14.26.10.mp4