从核心数据中获取数据
Posted
技术标签:
【中文标题】从核心数据中获取数据【英文标题】:Fetching data from core data 【发布时间】:2015-03-30 10:43:37 【问题描述】:我正在使用以下代码从核心数据库中获取数据。但是,当我在当前视图上推送另一个视图控制器并更改任何文本字段上的一些文本并单击取消按钮而不将文本保存/更新到 DB 中时。单击取消按钮后,我弹出此视图控制器,然后再次从 viewDidApear 方法调用此方法然后编辑的文本来自以下方法。但我没有将该文本保存/更新到数据库中。
-(Notes *)fetchSpecificNoteWithNoteID:(NSString* )noteID
NSEntityDescription *roomObj = [NSEntityDescription entityForName:@"Notes"
inManagedObjectContext:[[self appDelegate] managedObjectContext]];
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSError *error = nil;
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"notesID=%@",noteID];
[request setPredicate:predicate];
[request setEntity:roomObj];
NSArray *array = [[[self appDelegate] managedObjectContext] executeFetchRequest:request error:&error];
if ([array count] && array)
return [array objectAtIndex:0];
return nil;
【问题讨论】:
你实现过textfield的委托方法吗?如果是,那么你能告诉我们你在这些方法中写了什么代码.. 您在取消按钮上到底在做什么!只弹出 viewController 或其他任何东西 【参考方案1】:对托管对象的更改会自动“保存”在上下文中。您需要做的唯一手动保存是将其写入后备存储。
您在托管对象上设置新值的地方。如果您想取消此操作,则需要以某种方式回滚更改。
【讨论】:
以上是关于从核心数据中获取数据的主要内容,如果未能解决你的问题,请参考以下文章