Wireframe

[iOS/OSX] predicate를 사용한 배열의 필터

배열을 필터하기

특정한 값을 만족하는 원소만을 추출하여 부분 집합을 구하는 작업을 종종 해야 할 때가 있다. 배열에 대한 정렬 보다 간단하다면 간단하고 어렵다면 어려운데, predicate를 사용하면 쉽게 추출이 가능한데, 이 predicate를 사용하는 문법이 별도로 존재하기 때문에 조금 성가실 수 있다. (하지만 영문법과 크게 다르지 않다)

NSMutaleArray *array = [NSMutableArray arrayWithObjects:@"Bill", @"Ben", @"Chris", @"Melisa", nil];
NSPredicate *bPredicate = [NSPredicate predicateWithFormat:@"SELF beginsWith:'b'"];
NSArray *beginWithB = [array filteredArrayUsingPredicate:bPredicate];
// ==> { @"Bill", @"Ben" }

predicate는 너무 깊이 파면 복잡하므로 일종의 쿼리문이며, 대략 다음과 같은 포맷과 문법이 있다고 알아두자.

언제나 그렇지만 자세한 내용은 개발자 문서를 참고하면 된다.

Exit mobile version