2012-05-08 29 views
0

這裏我得到了fetchedObjects中的值。我如何更新數組中的值?如何更新coredata中的數據?

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 

NSEntityDescription *entity = [NSEntityDescription entityForName:@"Reserve" inManagedObjectContext:self.managedObjectContext]; 
[fetchRequest setEntity:entity]; 


//NSSortDescriptor tells defines how to sort the fetched results 
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"number" ascending:YES]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
[fetchRequest setSortDescriptors:sortDescriptors]; 
NSLog(@"sort count%d",[sortDescriptors count]);   

fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:nil cacheName:@"Root"]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(number = 100)", self.txtReserve.text]; 

// [fetchRequest setPredicate:predicate]; 
[fetchedResultsController.fetchRequest setPredicate:predicate]; 
self.fetchedObjects = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];  
NSLog(@"Count of array::::%d",[fetchedObjects count]); 
NSManagedObject *device = [fetchedObjects objectAtIndex:0]; 
NSLog(@"device::::%@",device); 
+0

[managedObjectContext refreshObject:yourcoredataOBject mergeChanges:YES];必須更新核心數據 – Bala

+0

嗨特哈斯,它不清楚你想要什麼。我想這是給你所需要的一切。 –

+0

感謝您的回覆,在上面的代碼中,我必須將設備設置爲yourcoredataOBject? –

回答

0

我建議你閱讀/觀看Core Data上的許多書籍/教程。您錯過了對該技術的基本瞭解。

首先,您收到的對象代表數據庫中的對象,您必須知道實體描述才能獲取數據。舉例來說,最基本的方法來獲得「數字」的「儲備」的實體將是屬性...

[managedObject valueForKey:@"number"]; 

如果您使用的Xcode(或工具,稱爲mogenerator),你可以有子類產生的實體,並且可以通過自定義訪問器方法更容易地訪問數據。