0
我製作了一個使用Core Data和抓取結果控制器的應用程序。使用NSFetchedResultsController更新CoreData對象
我可以添加CoreData對象並刪除它們。現在我想通過抓取的結果控制器更新一個CoreData對象。我知道我必須獲取對象,然後才能更改它。但因爲我還在學習,所以我不知道該怎麼做。現在我想問你如何做到這一點?
我製作了一個使用Core Data和抓取結果控制器的應用程序。使用NSFetchedResultsController更新CoreData對象
我可以添加CoreData對象並刪除它們。現在我想通過抓取的結果控制器更新一個CoreData對象。我知道我必須獲取對象,然後才能更改它。但因爲我還在學習,所以我不知道該怎麼做。現在我想問你如何做到這一點?
當您從CoreData中獲取數據時,如果修改了結果,它將在保存時更新CoreData中的實際值。
你要首先執行中的抓取:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
[request setEntity:[NSEntityDescription entityForName:@"Entity" inManagedObejctContext:moc]];
NSError *error = nil;
NSArray *results = [moc executeFetchRequest:request error:&error];
// error handling code
一旦你有你的結果,你可以修改個人記錄...
MyEntity *entity = [results objectAtIndex:0];
entity.title = @"updated attribute";
// save context
[moc save:&error];
編輯:在快捷,它會是沿着以下幾條線:
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate
var moc = appDelegate.managedObjectContext!
var fetchRequest = NSFetchRequest()
fetchRequest.entity = NSEntityDescription.entityForName("Entity", inManagedObjectContext: moc)
var error: NSError?
var results = moc.executeFetchRequest(fetchRequest, error: &error)
// error handling code
var entity: MyEntity = MyEntity()
entity.title = "updated attribute"
moc.save(&error)
感謝您的回答。我如何在Swift中執行此操作? – user3592462 2015-04-01 14:12:36
我更新了包含swift代碼的答案。我對Swift沒有太多工作,但它應該與我發佈的內容非常相似。 – 2015-04-01 14:21:21
moc是一個未解決的標識符 – user3592462 2015-04-01 15:03:03