ios访问用户在xib中输入的值

时间:2013-06-16 15:06:27

标签: ios xib

我有一个xib文件,我从我的一个视图控制器实现文件中调用。以下是我用于实例化并将视图控制器推送到导航堆栈的代码: -

upsertView=[[[NSBundle mainBundle] loadNibNamed:@"InsertView" owner:self options:NULL] lastObject];
UIViewController *vc=[[UIViewController alloc] init];
vc.view=upsertView;
[self.navigationController pushViewController:vc animated:NO];

xib视图包含三个文本文件,用户可以在其中输入其值并进行保存。此保存连接到同一控制器实现文件中的操作(从我调用xib的位置)。这是行动: -

-(void) saveValues
{
    UIViewController *vc=[[self.navigationController viewControllers] lastObject];
    NSString *valID = ((UITextField *)[vc.view viewWithTag:23]).text;
    NSLog(@"%@",valID);
}

如果以上是从xib获取用户输入值的最佳方法,请告诉我吗?

1 个答案:

答案 0 :(得分:0)

一些建议

只是为了更安全一面,而不是直接从函数loadNibNamed:owner:options:返回的数组中获取lastObject,最好为您的视图迭代数组,然后选择正确的数组。

也不建议使用viewWithTag。我个人对此有过一些不好的经历。 Apple内部维护了一些视图的标签。因此,如果您的标签与之重叠,则解决它可能会非常混乱。

相反,您可以为控制器中的文本字段维护IBOutlet,使用它可以轻松获取数据。