Core data 通过didSelectRow UIPickerView传递托管对象数据

Core data 通过didSelectRow UIPickerView传递托管对象数据,core-data,uipickerview,nsmanagedobject,nsmanagedobjectcontext,Core Data,Uipickerview,Nsmanagedobject,Nsmanagedobjectcontext,我对如何通过didSelectRow UIPickerView操作传递获取的托管对象数据有点迷茫 在上一个视图中,我传递了CANCINFO对象,如下所示: CalcInfo *calc = (CalcInfo *)[_calcInfos objectAtIndex:indexPath.row]; self.myPageOneViewController.calcInfos = calc; 我成功地为我的所有IBAction:(id)sender按钮使用了calcInfos.attribute,

我对如何通过didSelectRow UIPickerView操作传递获取的托管对象数据有点迷茫

在上一个视图中,我传递了CANCINFO对象,如下所示:

CalcInfo *calc = (CalcInfo *)[_calcInfos objectAtIndex:indexPath.row];
self.myPageOneViewController.calcInfos = calc;
我成功地为我的所有IBAction:(id)sender按钮使用了calcInfos.attribute,但pickerView无法获取/使用数据。updateLabel操作始终将calinFos.attribute设置为NULL。这是我的一些代码

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
[self updateLabel];
}

}


非常感谢你的帮助

选择器视图是一个子视图,具有自己的硬连线控制器。它返回在其委托消息“didSelectRow:Incomonent”中拾取的行和列/组件


您需要将该信息传递给
updateLabel
方法,以便将pickerview选择与托管对象关联起来。现在,这种方法根本不起作用

谢谢你的回复!我想你把我带到了正确的地方。但是,我不知道如何将这个对象传递给我的updateLabel方法。如果我理解正确,你是说pickerView在它自己的子视图中,因此didSelectRow:Incomonent消息,因此updateLabel方法不与主视图连接?这就是为什么我不能从子视图调用我的托管对象属性?当我从UIButton iAction调用方法时,updateLabel方法可以调用属性。奇怪的是,我必须将托管对象信息发送到pickerView子视图中,才能让updateLabel方法“查看”它。pickerView不与控制器共享任何数据。它只返回其委托(可能是控制器,也可能不是控制器)。因此,如果您想从pickerview提供数据,必须显式地这样做。您的
updateLabel
方法不知道pickerview选择是什么,除非您显式地将值传递给它。我找到了解决方案!我有一种直觉,觉得我在xib文件中的数据引用有问题。最初,我让委托和数据源引用我的PageOneViewController,但我尝试引用文件的所有者,结果成功了!我所有的按钮都用来检索我的变量,但pickerView无法。。。
- (void)updateLabel {

double stdrate = [calcInfos.infusionstd doubleValue];
double lowrate = [calcInfos.infusionlow doubleValue];

if (calcInfos.infusionlow == NULL) {
    NSLog(@"It's null");
}