Я новичок программист, и я боролся в течение двух недель по этой проблеме. Я использую JTCalendar из cocoapods. Он предназначен для возвращения даты под - (BOOL)calendarHaveEvent:(JTCalendar *)calendar date:(NSDate *)date {
, которая будет отображаться как точка в календаре, чтобы показать событие. Для того, чтобы сохранить свое мероприятие, я использую следующий код:Предикат основных данных для приложения события календаря
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSManagedObject *savedate;
savedate = [NSEntityDescription insertNewObjectForEntityForName:@"AlarmData" inManagedObjectContext:context];
[savedate setValue:CT forKey:@"alarmDate"];
[context save:&error];
BOOL isSaved = [appDelegate.managedObjectContext save:&error];
NSLog(@"success!!!!, %@", savedate);
и следующие попытки извлечь дату и «вернуться» это:
'
- (BOOL)calendarHaveEvent:(JTCalendar *)calendar date:(NSDate *)date
{
AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSString *textDate = [NSString stringWithFormat:@"%@",[dateFormatter stringFromDate:[NSDate date]]];
NSLog(@"Date %@",textDate);
NSDate *startDate = [dateFormatter dateFromString:@"31-12-1981"];
NSDate *endDate = [dateFormatter dateFromString:@"31-12-2999"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(alarmDate >= %@) AND (date <= %@)", startDate, endDate];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"AlarmData" inManagedObjectContext:context]];
[request setPredicate:predicate];
NSError *error;
NSArray *matchingData = [context executeFetchRequest:request error:&error];
NSString *alarmDate = [ NSString stringWithFormat:@"dd-MM-yyyy"];
for (NSManagedObject *obj in matchingData) {
alarmDate = [obj valueForKey:@"alarmDate"];
return alarmDate;'
К сожалению, результат выглядит следующим образом каждая дата, кажется, возвращается с точкой внизу:
https://drive.google.com/file/d/0Bw0Kf2Z9-yb8Zm5LWnZUUkRJRzQ/view?usp=sharing
Я только хочу, чтобы моя единственная дата вернулась, давно застряла. Спасибо!
При работе с NSDateFormatter для чего-либо, что не является пользовательским интерфейсом, используйте предустановленный язык. Если вы этого не сделаете, система будет использовать систему, которая может быть источником ошибок. Вы также можете проверить ошибку запроса. – Imotep