2012-12-04 3 views
1

제 객체의 배열 배열이 있습니다 - MyObject. otherObject 속성이이 경우에NSPredicate가 배열의 모든 항목을 검사합니다.

NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"myArrayProperty.otherObjectProperty MATCHES %@", mySearchString]; 

: - myArrayProperty 다른 클래스의 인스턴스를 포함 - MyOtherObject 나는 그래서 myArrayProperty의 값에 따라 약간의 필터링을 수행하는 NSPredicate을 사용하고 각 인스턴스는 문자열과 배열 속성이 있습니다 MyOtherObject의 캐릭터 라인 property 문제가이 구문과 의심됩니다 : myArrayProperty.otherObjectPropert

내 질문은 어떻게 myArrayProperty의 모든 항목을 통과하도록 지시합니까? 여기서 for 루프를 사용하지 않는 것이 좋습니다. 감사.

답변

1

당신은 사용할 수 있습니다 ...

NSPredicate *myPredicate = [NSPredicate predicateWithFormat:@"ANY myArrayProperty.otherObjectProperty MATCHES %@", mySearchString]; 

저는 믿습니다.

+0

브릴리언트! 그게 효과가있어! 고맙습니다! –

+0

걱정하지 않아도됩니다. – Fogmeister

0

쉽게 폼 NSObject의를 확인하거나 몇 가지 기본 클래스를 형성하고 쉽게처럼 작업을 수행 할 수 있습니다 대신의 UIViewController의 현명한 같은

ViewController *cont ; 
NSMutableArray *array ; 

[array addobject : cont]; 


nslog (@"%@",array); 

for (UIViewController *crt in array){ 
nslog (@"%@",crt); 

} 

NSObject의 다른 기본 클래스를 사용 ..

관련 문제