Core data 在prepareForSegue方法中传递委托
我在IOS应用程序中将对象从TableView传递到ViewController时遇到问题。我正在使用故事板,并在“prepareForSegue”方法中选择了ARC并通过了代理 以下是我在TableView中的代码,它通过推送到另一个ViewController进行分段:Core data 在prepareForSegue方法中传递委托,core-data,delegates,Core Data,Delegates,我在IOS应用程序中将对象从TableView传递到ViewController时遇到问题。我正在使用故事板,并在“prepareForSegue”方法中选择了ARC并通过了代理 以下是我在TableView中的代码,它通过推送到另一个ViewController进行分段: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NextViewController *vc = (NextViewCo
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NextViewController *vc = (NextViewController *)[segue destinationViewController];
vc.managedObjectContext = managedObjectContext;
if ([[segue identifier] isEqualToString:@"EditCategory"])
{
NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
// I get a red warning which states "Cast of 'NSInteger' (aka 'int') to 'Entity' is disallowed with ARC" on this line:
[vc setEntity:(Entity *)selectedIndex];
}
}
有人对如何将对象从TableView传递到ViewController有什么建议吗?我是编程新手,曾尝试过各种表达式,但似乎都不起作用。您遇到的错误与类型有关 类
NextViewController
显然有一个名为-setEntity:
的方法,该方法接受类型为Entity*
的对象。错误是因为您试图为-setEntity:
提供错误类型的参数。您试图给它一个NSInteger
(类似于0、5、-999的数字),但它需要一个实体
将数据从表视图传递到NextViewController
是正确的。您只需执行以下操作之一:
- 将
实体
传递给-setEntity:
(是否实体
类
有一个构造函数,它接受一个NSInteger
?)
- 向
NextViewController
添加一个方法,该方法接受一个NSInteger
,并调用该方法而不是-setEntity:
感谢您为我指明了正确的方向。我一直在尝试实现协议/委托方法,但我的managedObject出现了“null”。我想我很难确定哪个视图控制器实际上正在传递managedObject。ViewController上选择器的结果仅显示在TableViewController上。我是否只需要将managedObject从ViewController单向传递到TableViewController?或者我需要在两个方向上传递managedObject吗?