gpt4 book ai didi

iphone - 将对象保存在 CoreData 中

转载 作者:行者123 更新时间:2023-12-03 18:38:17 27 4
gpt4 key购买 nike

我正在将 CoreData 与 iPhone SDK 结合使用。我正在制作一个笔记应用程序。我有一个表格,其中显示了我的模型中的注释对象。当按下按钮时,我想将 TextView 中的文本保存到正在编辑的对象中。我该怎么做呢?我尝试了很多方法,但似乎都不起作用。

谢谢

编辑:

NSManagedObjectContext *context = [fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[fetchedResultsController fetchRequest] entity];
NSManagedObject *newManagedObject = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
[newManagedObject setValue:detailViewController.textView.text forKey:@"noteText"];

NSError *error;
if (![context save:&error]) {
/*
Replace this implementation with code to handle the error appropriately.

abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development. If it is not possible to recover from the error, display an alert panel that instructs the user to quit the application by pressing the Home button.
*/
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}

上面的代码正确保存它,但将其保存为一个新对象。我希望将其保存为我在 tableView 中选择的那个。

最佳答案

您应该查看 Core Data Programming Guide 。很难从问题中确切地知道你想要什么,但基本思想是:

-(IBAction)saveNote { //hooked up in Interface Builder (or programmatically)
self.currentNote.text = self.textField.text; //assuming currentNote is an NSManagedObject subclass with a property called text, and textField is the UITextField
}

//later, at a convenient time such as application quit
NSError *error = nil;
[self.managedObjectContext save:&error]; //saves the context to disk

编辑:如果您想编辑预先存在的对象,您应该从获取结果 Controller 获取该对象,例如NSManagedObject *currentObject = [fetchedResultsController objectAtIndexPath:[self.tableView indexPathForSelectedRow]],然后编辑该对象。我还建议使用带有属性声明的 NSManagedObject 的自定义子类,而不是使用 setValue:forKey ,因为它更灵活。

关于iphone - 将对象保存在 CoreData 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2530792/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com