2014-02-19 38 views
1

在我的應用程序中,我使用的是CoreData。某些日期值作爲NSString存儲在coredata中。 在我的Interface Builder我有一個textfield.When我在我的文本字段上輸入日期此日期將比較保存在coredata中的日期。coredata中的日期比較NSPredicate

什麼是解決方案。我只是通過這種方式Example它不適用於我的項目,因爲我想在我的NSPredicate方法上將字符串轉換爲日期。

我的代碼是

NSPredicate *p3 = [NSPredicate predicateWithFormat:@"acc_date >= %@ AND acc_date<=%@", theDate, date1]; 

這裏acc_date是從數據庫日期存儲爲字符串theDate日期1是我投入

+0

我想比較與coredata – PSP

+0

存儲'acc_date'作爲'NSDate'的值,以便您可以輕鬆地比較 – Akhilrajtr

回答

2

如果繼續存放日期爲字符串,那麼你不能像你正在嘗試的那樣進行任何形式的比較。

如果您將它們存儲爲實際的NSDate實例,那麼您的比較將起作用。問題不在於謂詞,而在於如何將數據存儲在覈心數據中。

我建議遷移您的數據庫,無論是大量遷移還是手動遷移。如果您的數據是一次性的,那麼我會更改字段並重置您的數據庫以使用NSDate實例。

+0

我明白這個問題。我只是將字符串更改爲數據格式 – PSP