如何将值从一个视图传递到另一个视图?(iPhone)

如何将值从一个视图传递到另一个视图?(iPhone),iphone,objective-c,Iphone,Objective C,例如,我有一个记录用户名的文本字段,单击按钮后,它将显示下一个视图,我希望下一个视图显示文本字段数据,并显示在第二个视图上,我如何才能这样做?Pass text_field.text 以您喜欢的任何方式查看第二个视图听起来好像您没有遵循惯例 如果您有一组单独的“model”类,它们只保存数据,那么您的第一个视图将使用文本视图中的更改来更新它(无论是在您离开视图时还是在您离开视图时)。 第二个视图将从模型中获取数据,因此它将获得更新的字段 如果您有多个视图同时引用同一个模型“活动”,您可能也需要

例如,我有一个记录用户名的文本字段,单击按钮后,它将显示下一个视图,我希望下一个视图显示文本字段数据,并显示在第二个视图上,我如何才能这样做?

Pass

text_field.text

以您喜欢的任何方式查看第二个视图听起来好像您没有遵循惯例

如果您有一组单独的“model”类,它们只保存数据,那么您的第一个视图将使用文本视图中的更改来更新它(无论是在您离开视图时还是在您离开视图时)。 第二个视图将从模型中获取数据,因此它将获得更新的字段


如果您有多个视图同时引用同一个模型“活动”,您可能也需要查看。

一般来说,您希望创建视图控制器的属性以接收将填充其视图的数据。因此,假设您的文本字段是一个属性,您可以这样写:

myViewController.text\u字段.text


其中
myViewController
是您将要向用户显示的视图控制器。

下面是一个很好的示例,说明如何将变量(使用MVC)从一个控制器(细节)传递到下一个(编辑)Apple

在详细视图中(将书本传递给EditingViewController):

在编辑视图(EditingViewController)中:


但是“textfield”在第一个视图中,我如何才能在下一个视图中访问这个值?我认为Tuomas的观点,就像其他一些答案一样,是不是新视图试图从第一个视图中提取信息,而是在显示信息之前将信息推到新视图中。原始视图知道字段中的字符串和新视图的标识,因此它可以连接它们。这不是个好兆头。在中间“视图”中,不必是重量级的。可能只是控制器上的一个属性。我添加了一个@interface Name:NSObject{NSString Name;}@property(readwrite)NSString Name;我怎样才能使用它?我试着[名字:@“我的名字”];但它不起作用。我不确定在这里复制时是否只是输入错误,但在这两种情况下都应该是
NSString*
(注意
*
)。您还需要属性的方法实现,或者一个
@synthesis
表达式。如果这些对你来说都不重要的话,我们可能不会在这里解决它。
 EditingViewController *controller = [[EditingViewController alloc] initWithNibName:@"EditingView" bundle:nil];

        controller.editedObject = book;
         ...

        [self.navigationController pushViewController:controller animated:YES];
        [controller release];
- (IBAction)save {
    ...
        [editedObject setValue:datePicker.date forKey:editedFieldKey];
        [editedObject setValue:textField.text forKey:editedFieldKey];
    }

    [self.navigationController popViewControllerAnimated:YES];
}