2016-11-13 1 views
0

코어 데이터에서 데이터를 가져와야하므로 NSPredicate을 사용하여 조건 1과 조건 2를 확인해야합니다. 하지만 조건 1을 만족하면 조건 2 만 확인하면됩니다. 이 시나리오를 달성하는 데 도움이되는 사람이 있습니까?다중 조건이있는 NSPredicate - 첫 번째 조건에 따라 두 번째 조건을 실행하십시오.

로직은

If (Condition1 == true) 
{ 
    if(Condition2 == True) 
     { 
     } 
    else 
     { 
     //Code 
     } 
} 
else 
{ 
//codes 
} 

자 NSPredicate를 사용하여이 시나리오를 달성하기 위해 도와주세요.

+0

그래서 (강조 추가)'의 경우 (조건 1 == TRUE) && (조건 2 == true)가', 일부 코드; if (condition1 == true) && (condition2 == false)', 어떤 코드; 'if (condition1 == false) && (condition2 == true/false)', 일부 코드는 맞습니까? – KrishnaCA

+0

'NSPredicate'는 데이터를 가져 오거나 필터링하는 데 사용할 수 있습니다. 코드를 실행할 수 없습니다. – Willeke

+0

@Willeke, 잘 'predicateWithBlock :'이 있지만 나는 당신의 의미를가집니다. –

답변

1

프리디 케이트 형식 문자열에 AND 표현식을 사용하면됩니다. NSPredicate은 이들을 단락 연산자로 취급합니다. 즉, Predicate Programming Guide: Using Predicates – Performance Considerations 섹션이 충고의 암시이다 :

당신은 화합물을 구성해야

이 완료 작업의 양을 최소화하기 위해 술어. 특히 정규식 일치는 값 비싼 조작입니다. 제 절 거짓이면 [...] 예에서

, [OR 후] 정규 표현식만을 평가 : 화합물 술어에서는 따라서 [...] 정규 표현식 전에 간단한 테스트를 수행해야.

,

+0

[NSCompoundPredicate andPredicateWithSubpredicates :]는 내가 믿는 호출입니다. – Alex

+0

@Alex, 예, 이것은 프로그래머가 정확하게 술어를 구성하기위한 API입니다. 나는 더 자주 술어가'[NSPredicate predicateWithFormat : @ "..."]'을 사용하여 만들어 졌다고 생각합니다.이 경우 문자열에'AND' 키워드 만 사용하면됩니다. 에서. –

관련 문제