2011-04-24 3 views
1

에 의해 Coredata 자 NSPredicate는 coredata 모델의 날짜 속성입니다. 목표 C 클래스에서 LastWorn은 NSDate입니다. objective-c 사용하기 coredata 데이터베이스와 날짜를주고받을 수 있습니다. ok. btnSearchOperator 포함 > 또는 < datePicker.date 내가 술어의 LastWorn 날짜를 사용하여 coredata 데이터베이스를 검색하려고 오전 UIDatePicker내가 엑스 코드 4 & IOS 4.3</p> <p>LastWorn을 사용하고 날짜

의 현재 선택 값입니다. 자 NSPredicate를 구축 코드에서 추출물은 위의 코드는 추가 데이터

... code not shown ... 
if ([txtSearchDate.text length] > 0) 
{ 
    if ([predicate length] != 0) { 
     [predicate appendString:@" AND "]; 
    } 
    [predicate appendFormat:@"LastWorn %@ %@", [btnSearchOperator currentTitle], datePickerView.date];   
} 

를 조회하는 'LastWorn> 2011-04-20 14시 0분 0초 0000'술어와는 충돌합니다.

콘솔 로그 2011-04-23 22 : 34 : 17.805 iDresser [1216 : 207] 의한 캐치되지 않는 예외 'NSInvalidArgumentException'이유 응용 프로그램 종료 * '형식 문자열 "을 파싱 할 수 없음 = Type.Id = 0 AND Shopping == NO AND (LastWorn> 2011-04-20 14:00:00 +0000) " '

F- 스크립트 CoreData 브라우저 도구를 사용하고 테스트 쿼리를 작성하면"LastWorn! = nil "올바른 결과를 보여줍니다.

"LastWorn> 2011-01"을 쿼리하면 LastWorn! = nil과 동일하게 표시되고 올바르지 않습니다.

나는 "LastWorn> 2011 년"나는 얻을 쿼리 경우 "NSInvalidArgumentException는 : - [NSCFNumber timeIntervalSinceReferenceDate] : 인식 할 수없는 선택기 예를 0x20048a920로 전송"

단순히 덜 지정된 값보다 LastWorn 날짜 모든 항목을 찾으려면

? 제안 사항을 보내 주시면 감사하겠습니다.

저도 같은 문제로 실행

답변

2

, 당신은 사용하여 술어를 구축 할 필요가 : 당신이 문자열에 술어를 구축 한 후 고정 술어

+0

로 설정하면

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"LastWorn %@ %@", [btnSearchOperator currentTitle], datePickerView.date] 

그것은 실패합니다. 제 질문에 답변 해 주셔서 감사합니다. – user722361

관련 문제