Iphone 将数据从子视图传递到视图控制器

Iphone 将数据从子视图传递到视图控制器,iphone,uiviewcontroller,Iphone,Uiviewcontroller,可能是个简单的问题,但我还没有找到解决办法。我有几个视图控制器和一些滑块,当拖动时,将数字输入到标签中。我还想有一个简单的弹出键盘输入数字到这个相同的标签。我创建了一个名为Keypad的视图控制器,当点击当前视图控制器上的按钮时,我会执行以下操作: - (IBAction)callKeypad:(id)sender { Keypad *keypadController = [[Keypad alloc] initWithNibName:@"Keypad" bundle:nil];

可能是个简单的问题,但我还没有找到解决办法。我有几个视图控制器和一些滑块,当拖动时,将数字输入到标签中。我还想有一个简单的弹出键盘输入数字到这个相同的标签。我创建了一个名为Keypad的视图控制器,当点击当前视图控制器上的按钮时,我会执行以下操作:

 - (IBAction)callKeypad:(id)sender
{
    Keypad *keypadController = [[Keypad alloc] initWithNibName:@"Keypad" bundle:nil];
   self.keypadViewController = keypadController;
   [self.view addSubview:keypadController.view];

    [keypadController release];
键盘弹出,当前视图控制器在背景中仍然可见。当我轻触键盘上的数字时,我希望结果立即显示在当前视图控制器中。我想我要做的是让一个视图控制器将其输出发送到另一个视图控制器


感谢您的帮助。

您应该创建一个主对象所遵循的代理协议,以便
键盘可以向其代理(主对象)发送消息


请参阅有关如何创建代理协议的问题:

您有很多选择

  • 就像Alexander Akers说的,你可以使用委托和协议
  • 另一个选项是NSNotificationCenter,它允许您向任何其他已注册感兴趣的类发送消息
  • 最简单/最丑陋的选项是在“拥有”视图中创建一个更新方法,并将拥有的视图传递给子视图,并让子视图在需要时调用该更新方法

  • 太好了,谢谢你的选择。我将使用1和2个选项来找到我的偏好。感谢您的回复和链接。我将给代表们一个机会