我有一个UITableView
使用 CoreData SQLLite 数据源的NSManagedObjectContext
.
如果我没有正确理解这个术语,请原谅我,因为我现在才几天,所以我只是在学习。
我刚刚完成了一个模式视图的设置,让我可以将新项目添加到我的数据源中。所以,我现在的逻辑基本上是:将项目添加到数据源,刷新表格视图,我现在可以看到我的新项目已列出。
不过,我想更进一步,并执行我已设置的 segue,然后在UITableViewCell
单击任何项目时发生。因此,我将使用该performSegueWithIdentifier:sender
方法在代码中启动该 segue。但是,发件人必须是UITableViewCell
。
所以,鉴于我拥有的东西,我有刚刚添加到数据源中的数据,但不知道数据源中新项目的索引。我需要使用该数据来定位UITableViewCell
新创建的项目。
关于如何做到这一点的任何想法?我一直在环顾四周,但没有看到任何看起来像我期望看到的示例代码。
下面是我将新项目从我的模式视图添加到数据源的代码:
#pragma mark - ComposeThreadViewControllerDelegate Methods
- (void)composeThreadViewController:(ComposeThreadViewController *)controller didFinishComposing:(Thread *)thread {
// get the context
NSManagedObjectContext *context = [(id)[[UIApplication sharedApplication] delegate] managedObjectContext];
// add this new thread to our local cache
NSManagedObject *managedThread = [NSEntityDescription insertNewObjectForEntityForName:@"Thread" inManagedObjectContext:context];
[managedThread setValue:thread.id forKey:@"id"];
[managedThread setValue:thread.title forKey:@"title"];
[managedThread setValue:thread.author forKey:@"author"];
[managedThread setValue:thread.text forKey:@"text"];
[managedThread setValue:thread.location forKey:@"location"];
//save the new thread
[context save:nil];
// begin refreshing the list of threads
[self.tableView reloadData];
// dismiss the modal view
[self dismissModalViewControllerAnimated:YES];
// bring up the view item view
[self performSegueWithIdentifier:@"viewThreadSegue" sender:self];
}