나는 usercount/topvotes sorta로 필터링하려고하는 방의 배열을 가지고 있습니다.배열을 정렬하면 잘못된 데이터가 셀에 표시됩니다.
필터 변경을 트리거하고 값을 "CurrentSearch"로 설정하고 내 테이블 데이터를 다시로드하는 버튼을 누르면 내 cellForRowAtIndexPath에 현재 currentsearch 값을 확인하고 이에 따라 목록을 필터링합니다.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if currentSearch == "new" {
self.PersonalSearchesList = PersonalSearchesList.sorted{ $0.users < $1.users }
} else if currentSearch == "top" {
self.PersonalSearchesList = self.PersonalSearchesList.sorted{ $0.latestUser < $1.latestUser }
}
필터링 전에 내 이미지/라벨이 완벽하게로드됩니다. 초기로드에서 currentSearch를 "new"로 설정하면 완벽하게 작동합니다. 일들이 펑키하게되는 필터를 바꾸기 시작하면됩니다. 셀의 무작위 복제본을 가져오고, 필터 사이를 스와핑하는 동안 잘못된로드가 일관되게 유지됩니다. 동일한 셀의 동일한 복제본이 동일한 위치에 만들어 지거나 배치됩니다.
셀 정보를 클릭하면 셀 정보가 인쇄됩니다 .. 셀 정보가 잘못로드 되어도 실제 정보는 정확하고 목록은 순서대로 정렬됩니다.
어떤 아이디어가 있습니까?
이제까지 이제까지'cellForRowAtIndexPath'에 데이터 소스를 수정하지 마십시오을, 해당 제품 매우 나쁜 행동 정말 잘못, 당신은 당신이 당신의있는 tableView를 다시로드하기 전에 정렬해야 – Tj3n
버튼 탭에서 정렬하는 위치로 이동 한 후 테이블 뷰를 다시로드하면 완벽하게 작동합니다. 나는 비디오에서이 한 번처럼 정렬되는 것을 보았고 그것을 할 수있는 방법으로 저와 붙어있었습니다. haha가 아닌가요. 그 사람을 칭찬해라. – user6820041