2013-07-17 80 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

取決於代碼的其餘部分,這裏有很多可能的問題,但應該指出,[result 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

這讓我很困惑。我在'NSDate *'' – memyselfandmyiphone