2011-09-18 7 views

답변

3

이것은 SQL 쿼리가 아니며 가져옵니다. 쿼리는 SQL 관련 개념이지만 가져 오기는 모든 유형의 핵심 데이터 저장소에서 작동하는 핵심 데이터 개념입니다.

fetchRequest NSFetchedResultsController의 값을 변경할 수 있지만 다소 복잡합니다. From the docs:

페치 요청을 수정

당신은 단순히 결과를 수정하는 패치 요청 을 변경할 수 없습니다. 당신이 가져 오기 요청을 변경하려는 경우, 당신은 해야합니다 : 당신은 캐시를 사용하는 경우

(1), (:) deleteCacheWithName을 사용하여 삭제합니다.

일반적으로 가져 오기 요청을 변경하는 경우 캐시를 사용하면 안됩니다.

(2) 패치 요청을 변경하십시오.

(3) performFetch :를 호출하십시오.

페치 요청 수정시 문제가되는 캐시입니다.

NSFetchRequest 객체의 조건자를 변경할 수도 있지만 가져온 결과 컨트롤러와 함께 해당 페치를 사용하는 경우 위의 단계를 수행해야합니다.

캐시 된 개체가 새 페치 요청에서 반환 된 동일한 집합이 아닌 경우 문제가 발생합니다. 새 페치 요청 객체 또는 새로 페치 된 결과 컨트롤러 객체를 만드는 것이 더 간단하고 깨끗합니다.

beginUpdate으로 테이블 뷰를 고정해야합니다. 그렇지 않으면이 모든 작업이 진행됩니다. 그렇지 않으면 테이블 뷰의 행과 섹션이 충돌을 일으키는 데이터와 동기화되지 않게됩니다.

관련 문제