コアデータに格納されたコアデータをフェッチしようとしていますが、eventStartDateというフィールドの日付範囲にフィルタリングされました。 Xcodeでコアデータ項目をプロキシします。フェッチ要求を実行すると、何も返されません。私は、SQLのログを見てみましたし、フォローのSQLが呼び出されていることがわかり、正しい見ている:フェッチ述語としての日付の範囲 - コアデータ間のNSDate述語
SELECT 0, t0.Z_PK FROM ZEVENT t0 WHERE (t0.ZEVENTSTARTDATE > ? AND t0.ZEVENTSTARTDATE <= ?) ORDER BY t0.ZEVENTSTARTDATE
私がPOにしようとしたとき、私は、戻って何を取得[mgtEventArrayカウント]私はオブジェクト上nilを取得します。
フェッチのための私のコード:
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit) fromDate:[NSDate date]];
NSDate *startDate = [calendar dateFromComponents:components];
[components setMonth:10];
[components setDay:0];
[components setYear:0];
NSDate *endDate = [calendar dateByAddingComponents:components toDate:startDate options:0];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"((eventStartDate > %@) AND (eventStartDate <= %@))",startDate,endDate];
NSFetchRequest *fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:sortDescKey ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[sortDescriptor release];
NSError *error = nil;
NSArray *mgtEventArray = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if(error != nil)
NSLog(@"%@", error);
return mgtEventArray;
-1カッコで間違っても違いはありません –
実際には、現在では機能しています。 –