2013-07-17 2 views
0

Я пытаюсь получить последнюю запись NSdate из основных данных. Способ, которым я пытаюсь это сделать, - сортировать по дате и получить objectAtIndex. Однако я стараюсь получить результат, и я возвращаю его как nil. Я предполагаю, что мой вопрос составляет около NSDate *obj = [results objectAtIndex:0];, хотя я не уверен, как его исправить. Любые предложения будут приветствоваться. Я мог бы быть в порядке, так что извините меня, если я.Извлечение NSDate из основных данных

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    //Get Reference to App Delegate 
    SSAppDelegate *appDelegate = [UIApplication sharedApplication].delegate; 
    NSManagedObjectContext *context = [appDelegate managedObjectContext]; 
    //Fetch Entity 
    NSFetchRequest *request = [[NSFetchRequest alloc] 
           initWithEntityName:@"RecentDetails"]; 
    //Sort By Date 
    NSSortDescriptor *sort = [[NSSortDescriptor alloc]initWithKey:@"date" ascending:NO]; 
    [request setSortDescriptors:[NSArray arrayWithObject:sort]]; 
    //Store In Array 
    NSArray *results = [context executeFetchRequest:request error:NULL]; 

/////////////NEEDS EXTRA HERE ACCORDING TO COMMENTS 


    //Find Object at Index 0 
    NSDate *obj = [results objectAtIndex:0]; 
    //Set Batch Size 
    [request setFetchBatchSize:1]; 

    //NSDate Formatter 
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"ddMMyyyy"]; 

    //Convert to string 
    NSString *stringFromDate = [dateFormatter stringFromDate:obj]; 

    //Test Log 
    NSLog(@"Latest Date! %@", stringFromDate); 

} 
+0

Можете ли вы показать нам код, в котором вы сохраняете дату? –

+2

Здесь много проблем, в зависимости от остальной части кода, но следует отметить, что [results objectAtIndex: 0] предоставит вам объект сущности из «RecentDetails», а не только дату, поэтому вам придется учитывать для этого в первую очередь. Сортировка просто собирается заказать результаты для вас. – Stakenborg

+0

обновленный вопрос. Я знаю, что он вводится правильно, поскольку я использовал его в предикате. – memyselfandmyiphone

ответ

1
  • При вставке изменения:

    NSManagedObjectContext *recentDetails = [NSEntityDescription insertNewObjectForEntityForName:@"RecentDetails"inManagedObjectContext:context]; 
    

    к:

    NSManagedObject *recentDetails = [NSEntityDescription insertNewObjectForEntityForName:@"RecentDetails"inManagedObjectContext:context];` 
    
  • При получении, как указывал Stakenborg, вы должны получить свою собственность дату с объект объекта "RecentDetails".

  • [request setFetchBatchSize:1] должно быть установлено до [context executeFetchRequest:request...], в противном случае оно не влияет на количество выбранных объектов RecentDetails.

+0

Привет @arseniy ..... Его 'получение вашего свойства даты от объекта сущности', о котором я смутился. Должен ли я просто делать «NSpredicate»? – memyselfandmyiphone

+0

'stringFromDate: obj.date' – Abizern

+0

Это меня смущает. Я получаю свойство '' date '' не найденным на объекте типа 'NSDate *' ' – memyselfandmyiphone

Смежные вопросы