2013-12-22 1 views
2

MyMessage에 대해 whenRead 날짜 속성이 있고 주어진 수신자가 userID 인 개체에 대한 가져 오기 요청 템플릿을 만들려고합니다. 내가 요청 편집기를 가져 오기 5 Xcode의 이러한 식을 만들려고 할 때, 그것은이에서 내 표현으로 변환이에템플릿에서 NSFetchRequest - Xcode 5 편집기 다시 작성 표현식

desired predicate

(값으로 현재 날짜 사용) :

rewritten predicate

클릭 후 요청 탭을 다시 선택하십시오.

누구든지이 문제가 발생 했습니까? 이 Xcode 5 버그입니까, 아니면 여기에 뭔가 빠졌나요?

합니다 ( whenRead 특성은 선택 사항으로 표시하고 날짜 형식을 가지고 있습니다.)

편집 :

내가 프로그래밍이 술어를 만들 때, 그것은 잘 작동하는지 추가해야합니다.

NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Message"]; 
[request setPredicate:[NSPredicate predicateWithFormat:@"recipient.userID == %@ AND whenRead == %@", userID, [NSNull null]]]; 
+0

잘 모르겠지만 "nil"대신 "0"을 술어 편집기에서 사용하는 것이 좋습니다. –

+0

"0"을 사용하면 같은 효과가 있습니다. 두 절을 남겨두고 "0"을 추가하면 이전의 whenRead 절이 "is not"로 변경되고 새로운 "is"절 (둘 다 오늘 날짜 포함)이 추가됩니다. – enjayem

+1

FWIW이 파일을 버그로 신고했으며 Open Radar에서도 사용할 수 있습니다. http://www.openradar.me/16037400 – Aaron

답변

2

나는 IB에서 한계에 부딪쳤을 것으로 생각합니다. 앱이 시작할 때 요청 템플릿을 인출 정의 NSManagedObjectModel 다음과 같은 방법을 사용 :

setFetchRequestTemplate:forName: 

를이 여전히 당신에게 가져 템플릿의 속도를 제공하지만, 또한 전무 평등을 설정하는 기능을 제공합니다. 나는 이것에 대해서도 레이더를 제출할 것이다. IB는 확실히 nil 값을 허용해야합니다.