2009-10-09 5 views
-1

NSMutableArray를 필터링하려고합니다. 특정 국가 별 항목을 검색합니다. 나는 훌륭한 NSpredicate를 시도했지만 NSpredicate로는 할 수없는 원래 배열을 다시 사용해야합니다. 그래서 아래 코드를 시도하고 있습니다.범위를 넘어 NSMutableArray 인덱스를 필터링 문제

Q. 원래 배열을 그대로 유지하면서 NSMutableArray를 필터링하는 가장 좋은 방법은 무엇입니까?

// 다음 코드 작동

filteredArray = [있는 NSMutableArray의 ALLOC] INIT];

부호없는 정수 i; 위한

(I = 0; I < [appDelegate.arrayToBeFiltered 카운트] 난 ++) {

세션 ID = appDelegate.ads objectAtIndex : I];

id 국가 = [[appDelegate.arrayToBeFiltered objectAtIndex : i] TheCountry];

[filteredArray addObject : session];

// 그러나 나는 경계

넘어 인덱스를 얻을 아래와 같이 나는 if 문을 추가 할 때

filteredArray = [[NSMutableArray를의 ALLOC] 초기화]

부호없는 정수 i; 위한

(I = 0; I < [appDelegate.arrayToBeFiltered 카운트] 난 ++) {

세션 ID = appDelegate.ads objectAtIndex : I];

id 국가 = [[appDelegate.arrayToBeFiltered objectAtIndex : i] TheCountry];

if (국가 == @ "미국") { [filteredArray addObject : session]; }

답변

0

사용 - (NSArray를 *) filteredArrayUsingPredicate : (자 NSPredicate *) 당신은 아마이 할 말은 위의 코드에서 사이드 참고로

조건 :

[국가 isEqualToString를 "미국"@]

추가 참고 사항 - 변수 및 메소드 이름을 대문자로 사용하지 마십시오. 그냥 스타일 일이지만 대문자는 일반적으로 클래스 이름을 위해 예약 됨

+0

그 덕분에 정말 고마워. PS 스타일을 조정 해 드리겠습니다. –

관련 문제