2013-09-02 5 views
0

전체 행 수가 설정된 UITableview에서 작업 중입니다. 일부는 사용자 동작에 따라 삽입 및 제거됩니다. 이 작업을 가장 효율적으로 수행 할 수있는 방법을 결정하는 데 문제가 있습니다. 두 가지 아이디어가 모두 효과가 있었지만 구현이 깨끗하지 않았습니다. 그들은 : NO 제거 할 때, 삽입시UITableView에서 삭제 된 행에 대한 참조 유지

1)가 YES로 착신 데이터 (shownInTable) 및 설정 shownInTable 부울 값을 추가한다.

I이 방법에있는 문제가있는 tableView이 섹션 로우 카운트 또는 셀 요구할 때, 데이터 나 현재 도시 된 어레이 검사를 반복 할 필요가 있다는 것이다.

2)만을 나타낸 데이터를 포함하는 하나의 가변 어레이 (2), 기준으로 모든 데이터를 포함하는 하나를 만든다. 변경 가능한 배열의 데이터를 테이블에 제공하십시오. 참조 배열을 사용하여 변경 가능한 배열에 삽입 할 데이터를 가져온 다음 필요에 따라 변경 가능한 배열에서 삭제합니다.

내가 가지고있는 문제는 두 배열을 모두 만드는 긴 설치 프로세스가 필요하다는 것입니다. I.E. 가능한 10 개의 데이터 행이 있으면 ... 10 개의 객체가 만들어져 참조 배열에 배치되고 5 개가 복제되어 가변 배열에 배치됩니다.

이 데이터가 테이블 안팎으로 이동할 때이 데이터를 추적하는 더 좋은 방법이 있습니까?

감사합니다.

답변

1

동일한 개체를 두 개의 배열에 배치하면 개체가 복제되지 않고 단순히 두 번 참조됩니다.
대부분의 경우 두 번째가 올바른 방법입니다.

필터의 목표는 검색이 경우, 예를 들어, 당신은 생성 프로세스의 속도를 조건으로 필터를 사용하여 첫 번째 배열 한 다음 두 번째를 만들 수 있습니다. (: 활동의 배열을이 예에서)와 "프로그래밍"당신의 도움에 대한

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(activityName CONTAINS[cd] %@)", @"programming"]; // activityName is the @property that you want to apply the filter to 
NSMutableArray *arrayToShow = [[firstArray filteredArrayUsingPredicate:predicate] mutableCopy]; 
+0

감사가 포함 된 활동 만 보여주고 싶은

는 예를 들어, 객체의 배열을 가지고! – user1869469

관련 문제