2

我已经实现了两个uiviewcontrollers. 我在一个uiview和一个按钮上有一些文本字段。我想要的是,当我填写文本字段并单击按钮时,这些值会显示在另一个uiview控制器上。当我填写文本字段并单击按钮时遇到问题,另一个uiview在 iPhone 屏幕上显示,但文本字段值未显示在其上。nextview.h我还在我的文件中导入viewcontroller.m文件。下面是我的一些代码:

-(IBAction)save:(id)sender
{


    nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil];

    [[NView name] setText:name.text];
    [[NView fathername] setText:father.text];
    [[NView country] setText:countryselected.text];
    [[NView gender] setText:genderselected.text];
    [[NView dob] setText:dateselected.text];
    [[NView username] setText:username.text];
    [[NView password] setText:password.text];
    [[NView email] setText:email.text];
    [self presentModalViewController:NView animated:YES];

}

nextview该类中,我还在 .h 文件中定义@property了 uilabels ,我还在文件中定义了这些标签,@synthesize并将initialize这些变量链接到所有标签。问题仍然存在。我能做些什么来避免这个问题?releasenextview.m

4

4 回答 4

0

有关 initWithNibName 的信息,请参阅苹果文档

http://developer.apple.com/library/ios/ipad/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

在访问它的视图之前,不会加载 nib。对于额外的初始化使用 viewDidLoad。

这意味着,在 initWithNibName 之后没有直接设置网点。

因此,您可以做的一件事是添加对第一个 viewController 的引用作为 nView 中的属性,并在 nView 的 viewDidLoad 中根据第一个 VC 标签设置标签。

附带说明:您的命名约定是错误的。对类使用大写,对类的实例使用小写,即它应该是

Nextview *nView;
于 2012-11-15T17:52:51.053 回答
0

看这行代码:

nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil];

您使用 nil 作为 nib 名称来创建下一个视图。您是否覆盖了 nextview 的 initWithNibName 以提供 nib 名称?

于 2012-11-15T14:18:35.280 回答
0

调用 nextview *NView = [[nextview alloc] initWithNibName:nil bundle:nil] 时,您是否初始化了您的成员(例如姓名)?如果你在 viewdidiload 或者其他关于视图的函数中初始化它们,那么它们会在你调用 [self presentModalViewController:NView animated:YES]; 之后被初始化。

于 2012-11-15T14:44:23.913 回答
0

有很多方法可以将数据从一个视图传递到另一个视图。在本教程中有关于此方法的简要说明您想要检查它教程源代码

于 2012-11-15T14:20:06.450 回答