2017-10-16 3 views
0

동일한 테이블의 두 속성이 동일 할 때 레코드를 삭제하려고합니다 (% k1 = % k2).하나의 속성이 코어 데이터의 다른 속성과 동일한 레코드를 삭제합니다.

테이블 사용자의 예에서 User.firstName == User.lastName 인 레코드를 삭제하십시오. 참고 NSPredicate (형식 : "firstName! = lastName")는 레코드를 가져 오는 데에도 도움이되지 않습니다.

코어 데이터가 작동하는 방식이 아니라 같은 테이블에서 이러한 레코드를 구분해야하는 자체 조인을 요구합니다. 술어에 대한 도움이 필요합니다

+0

"도움이되지 않습니다"- 오류를 발생 시키거나 아무 것도 가져 오지 않거나 모든 것을 가져 옵니까? – pbasdf

+0

은 삭제할 모든 레코드를 반입합니다. – mkumar

+0

이 술어는 동일하지 않은 인스턴스를 반입합니다. 당신은 그들이 * 평등 한 곳을 원합니다, 맞습니까? –

답변

0
  • 가져 오기 모두 데이터입니다.
  • 필터 let duplicates = users.filter { $0.firstName == $0.lastName }.
  • 발견 된 항목을 삭제하십시오.
+0

nspredicate의 종류로 레코드를 삭제하려고합니다 ... 가져 오기 전후에 데이터를 필터링하지 않습니다 ... – mkumar

+0

아는 한 당신은 할 수 없습니다. 술어로 그렇게해라. – vadian

관련 문제