从另一个视图中删除现有数据
Posted
技术标签:
【中文标题】从另一个视图中删除现有数据【英文标题】:Delete existing data from another view 【发布时间】:2013-05-16 15:32:29 【问题描述】:我试图构建像原生 Apple Notes 这样的应用程序。我有一个问题\问题。 在苹果笔记中,当您再次打开已经存在的笔记并从中删除所有文本时 - 删除笔记和删除核心数据中的数据。我该怎么做?应用程序的第一个视图 - 笔记列表,第二个视图 - 笔记。我不明白如何删除该对象,我需要什么。例如:当我从列表到笔记的转换看起来像这样时:
-(void) prepareForSegue:(UIStoryBoardSegue *)segue sender:(id)sender
NoteDetailVC *destViewController = segue.destinationViewController;
if([[segue identifier] isEqualToString:@"ShowNote"])
NSManagedObject *selectedNote = [self.notes objectAtIndex[[self.tableView indexPathForSelectedRow] row]];
destViewController.selectedNoteInfo = selectedNote;
在 NoteDetailVC 中,我与类似的数据进行交互:
if (selectedNoteInfo)
// bla bla bla code
在创建时我使用setValue:
命令和其他。我了解在设置新值之前如何在不保存数据的情况下关闭控制器。但是不明白如何从核心数据中删除已经存在的对象。如何检查我需要什么索引等?请帮忙! :-)
再次为我的英语感到抱歉:)
【问题讨论】:
您可能想看看如何使用key-value in coredata 以及如何使用delete 【参考方案1】:鉴于我正确理解您的问题,这是我将采取的方法。
当用户选择创建一个新笔记时,创建你的 NSManagedObject 来代表它。
Note *newNote = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:self.context];
当他们返回列表或按完成时...在 prepareForSegue:sender:
检查注释的内容。
if (note.contents.length == 0)
[self.context deleteObject:note];
[self.context save:&error]
【讨论】:
以上是关于从另一个视图中删除现有数据的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Jenkins 中将现有工作从一个视图移动到另一个视图?