2017-12-12 5 views
-1

문자열이 내 tableviewcell에 있습니다. 이제 해당 문자열이 (managedObject 유형의) 배열에 있는지 확인합니다. 그리고 해당 배열에 문자열이있는 경우 해당 배열에서 문자열을 삭제합니다. 그것은 ...과 같이 이루어집니다 텍스트를 기준으로 셀의 인덱스 경로를 가져옵니다.

이 배열에서 객체를 삭제하지만이있는 tableview에서 특정 개체를 제거하지 않습니다

. 그래서 그 indexpath를 기반으로, 나는 tableview에서 텍스트를 삭제할 수 있도록 theText 텍스트의 색인 경로를 얻고 싶습니다. 그러나 indexpath가 어떻게 얻어지는 지 나는 알 수 없다. 누군가가 도움을 줄 수

희망 ... 배열에서 요소를 제거 후 :

+0

왜'favMessages'는 tableView를 채우는 배열 인 것 같으니까 필터링 후에 다시로드하지 않습니까? – Larme

+0

애니메이션 삭제를보고 싶기 때문에 다시로드하지 않습니까? 상관 없으면 단순히 reloadData를 호출하십시오. 그렇지 않으면 색인을 사용하여 수동으로 삭제하십시오. 행을 삭제할 때 인덱스 경로를 구성하고 행이 삭제되었음을 tableView에 알립니다. – dasblinkenlight

+0

실제로이 예제에서는 다른 세그먼트 컨트롤에서 동일한 테이블 뷰를로드하고 각 세그먼트마다 다른 배열을 채우므로 리로딩이 작동하지 않는 것처럼 보입니다. 따라서 제 질문의 경우 세그먼트 2에서 데이터를 삭제하고 세그먼트 1로 이동하면 변경 사항이 반영되어야합니다. 당신은 그것을 가지고 있기를 바랍니다 :) @Larme –

답변

0

전화 self.tableview.reloadData.

애니메이션 방식으로 삭제하려는 경우.

그런 다음 삭제를 위해 루프를 사용하고 삭제 된 항목의 색인을 가져올 수 있습니다. 그러면 전화 할 수 있습니다

tableView.deleteRows(at: <#T##[IndexPath]#>, with: <#T##UITableViewRowAnimation#>) 
+0

이것은 OP 질문에 대한 답변이 아닙니다. 그가 삭제를 움직이기 원한다면? – dasblinkenlight