というテーブルで述語検索を実行していますTodolists。Todolists持っていtodosます。
私は、が特定の場所またはがどこにあるかをすべて取得しようとしてTodolistsいます。due_at (Date)<=Datedue_at Datenil
次の述語は正常に機能し、特定の日付より前のすべてのTodolists場所を取得します。Todos
NSDate *now = [NSDate date];
int daysToAdd = _dueDateSlider.intValue;
NSDate *datePeriod = [now dateByAddingTimeInterval:60*60*24*daysToAdd];
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY todos.due_at <= %@", datePeriod];
ただし、次のNSPredicate検索では、があり、がである場合でも、すべての結果が返さdue_at Dateれますnil。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY todos.due_at = nil"];
テーブルを検索するdue_at = nilとうまくいくようですが、結合検索で実行するとうまくいきません。NSPredicateTodos
目標は、この作業を行うことです。
NSPredicate *pred = [NSPredicate predicateWithFormat:@"ANY todos.due_at <= %@ OR todos.due_at = nil", datePeriod];
結合テーブルでnil値を述語検索するにはどうすればよいですか?
=======更新======
私はこれを述語として使用しようとしました:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"(todos.due_at <= %@) || (todos.due_at = nil)", datePeriod];
ただし、次のエラーが発生します。
-[__NSArrayI compare:]: unrecognized selector sent to instance 0x1001e36b0