2011-02-02 3 views
0

SQLite 테이블에서 레스토랑 객체를 가져와 테이블에 사용자에게 표시하는 기본 iPhone 응용 프로그램을 만들고 있습니다. 내 앱은 탐색 기반입니다. SQLite 데이터베이스에서 데이터를 가져 와서 정렬하는 데 문제가 없습니다. 나는 아무런 문제도 내지 못한다. 각 레스토랑 객체에는 '이름', '주소', '카테고리'(예 : 그리스어, 이탈리아어 등의 레스토랑 유형) 등 다양한 속성이 있습니다. 이제 데이터베이스에서 레코드를 검색 한 후 성공적으로 NSMutableArray에 저장 한 다음 NSArray로 정렬 할 수 있습니다.개체의 NSArray를 반복하고 원본의 하위 집합을 포함하는 새 NSArray를 만드는 방법은 무엇입니까?

내 NSArray (또는 원본 NSMutableArray)를 사용하여 "All"을 포함하는 첫 번째 인덱스로 다른 배열을 만든 다음 각 나머지 인덱스에 레스토랑 범주의 고유 한 이름이 포함되도록하고 싶습니다. 알파벳순으로 정렬 된 원본 목록에서 가져온 다음 다음 화면에서이를 표로 사용자에게 표시합니다. 이 테이블에서 사용자가 "모두"를 선택하면 장르에 관계없이 모든 레스토랑을 볼 수있는 다른 테이블을 표시하는 다른 화면으로 이동합니다.

그러나 사용자가 사용 가능한 목록에서 특정 카테고리를 선택하면 사용자는 해당 유형의 식당으로 만 구성된 테이블을 표시하는 화면으로 이동합니다 (예 : 이탈리아 레스토랑 만, 중국 레스토랑 만, 태국 만 레스토랑). 이 일을 어떻게 하죠? 어떤 아이디어 나 제안?

답변

0

한 가지 가능한 알고리즘 개요 : 당신의 NSMutableArray를 통해

  1. 반복 처리 (예를 들어 for(item in array))를 NSMutableSet (또는 NSCountedSet에 각 항목의 범주 속성을 삽입 만약 당신이 좋겠도 횟수 각 범주와 같은 발생합니다)
  2. 범주의 정렬 된 배열을 얻으려면 NSSetsortedArrayUsingDescriptors: 메서드를 사용하십시오.
  3. 모든 항목을 어떤 방식 으로든 추가하십시오.
+0

답장을 보내 주셔서 대단히 감사드립니다. 정말 감사! – syedfa

관련 문제