2013-12-22 62 views
2

我正在嘗試爲MyMessage對象創建一個提取請求模板,該對象具有一個無日期屬性whenRead和具有給定userID的收件人。然而,當我嘗試在Xcode中創建這樣的表達式5提取請求編輯器,它在我的表達式轉換從這樣的:來自模板的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

不確定,但我建議在謂詞編輯器中嘗試「0」而不是「無」。 –

+0

使用「0」具有相同的效果。留下兩個子句,然後添加一個「0」將先前whenRead子句更改爲「不是」,並添加新的「is」子句(都與今天的日期)。 – enjayem

+1

FWIW我已經將它作爲一個錯誤進行了歸檔,並且它也可以在Open Radar中找到:http://www.openradar.me/16037400 – Aaron

回答

2

我想你可能在IB中遇到了限制。使用NSManagedObjectModel以下方法來定義,當你啓動應用獲取請求模板:

setFetchRequestTemplate:forName: 

這仍然給你取模板的速度,還提供了設置爲零平等的能力。我也會提供雷達相關信息。 IB應該肯定允許零值。