ios access用户在xib中输入的值
我有一个xib文件,我正在从我的一个视图控制器实现文件调用它。以下是我用来实例化视图控制器并将其推送到导航堆栈上的代码:-ios access用户在xib中输入的值,ios,xib,Ios,Xib,我有一个xib文件,我正在从我的一个视图控制器实现文件调用它。以下是我用来实例化视图控制器并将其推送到导航堆栈上的代码:- upsertView=[[[NSBundle mainBundle] loadNibNamed:@"InsertView" owner:self options:NULL] lastObject]; UIViewController *vc=[[UIViewController alloc] init]; vc.view=upsertView; [self.navigati
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获取用户输入值的最佳方法吗?几点建议
为了更安全起见,与其直接从函数loadNibNamed:owner:options:
返回的数组中获取lastObject,不如在数组中迭代查看,然后选择正确的对象
也不建议使用带标签的视图。我个人在这方面有过一些不好的经历。苹果公司内部维护了一些视图的标签。因此,如果您的标记与此重叠,则很难解决
相反,您可以在控制器中维护文本字段的IBOutlets,使用它可以轻松获取数据 上述方法有效吗?是的。以上是整个代码的一个子集。但是,它正在打印valIDIn的值。一般来说,您的代码是正常的。您可以在viewController中为文本字段创建弱输出,并在保存方法中直接读取它们-这将使代码更干净