gpt4 book ai didi

objective-c - 如何从托管对象上下文转到 TableView 行?

转载 作者:行者123 更新时间:2023-11-29 13:31:16 25 4
gpt4 key购买 nike

我有一个 UITableView,使用 CoreData SQLLite 数据源和 NSManagedObjectContext

如果我没有正确理解这个术语,请原谅我,因为我才接触这个几天,所以我只是在学习。

我刚刚设置了一个模态视图,以便将新项目添加到我的数据源中。所以,我现在的逻辑基本上是:将项目添加到数据源,刷新 TableView ,我现在可以看到列出了我的新项目。

不过,我想更进一步,并执行我已设置的 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];

}

最佳答案

为什么需要对象的索引路径?这是 TableView 的实现细节,它管理对象的表示。

如果您需要该对象,为什么不直接将托管对象作为发送者传递?

[self performSegueWithIdentifier:@"viewThreadSegue" sender:managedThread];

现在,在您的 performSeque 中,您可以将托管对象传递给 View Controller 。无需使用对您正在做的事情不自然的索引路径来污染您的所有代码。

注意:您可以向对象询问其托管对象上下文...

managedThread.managedObjectContext

关于objective-c - 如何从托管对象上下文转到 TableView 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11821696/

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