在 UIPageViewController 中获取 UITextField 值

Getting UITextField value in UIPageViewController

这是我的第一个问题,所以请耐心等待,(我搜索了好几天,但找不到任何答案!T.T)我也是 IOS 开发的新手,很抱歉,如果我弄错了条款,我需要在我的应用程序中获取 UITextField 的值。我正在使用 UIPageViewController 和 2 个视图控制器:

第一个视图控制器是使用 UIPageViewControllerDataSource 的根视图,这是我的 UIPageViewController 声明的地方。 第二个视图是页面视图,在这个视图里面有 2 个 UITextFields。 所以在我的应用程序中,我有 2 个页面都使用第二个视图控制器。

我的第一个问题是,我无法使用根视图 class 获取 UITextFields' 的值,但后来我找到了通过声明 UIPageViewController 来实现的方法在我的 rootviewcontroller 界面的 .m 中,所以我想我用自己的方式解决了它。

但是,我是通过在翻到下一页之前单击一个按钮来获取这些值的,无论如何,当我翻到下一页而不单击按钮时,我是否可以获得 UITextField 值? 接下来是,当我转到下一页并返回第一页时,当我单击按钮时,它不再获得 UITextField 值。

因此,我能够通过识别每页第一个 UITextField 上的占位符来获得 UITextField 值。

我有 viewControllerBeforeViewControllerviewControllerAfterViewController 方法,但是它们的行为很奇怪.. 当我来回翻页很多次时,在我的应用程序中调用这个方法是不准确的未调用此方法之一。

另外,我使用这个网站 http://www.appcoda.com/uipageviewcontroller-storyboard-tutorial/ 作为我创建它的指南。

希望有人能帮助我……谢谢!

您可以使用 NSUserDefaults 来保存您的 TextField 的值。

let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject("TextField value", forKey: "nameKey")

并获取值

let name = defaults.stringForKey("nameKey")

保存该值后,您可以在整个项目中使用它。

UIPageViewControllerviewControllers 属性。您可以访问它以获取 UIViewController 的数组。使用它,您将能够访问 SecondViewControllers。

pageViewController.viewControllers[1] 会给你第一个 SecondViewController 的实例。只需确保在 SecondViewController 中全局声明 textField,您就可以访问它以检索输入的文本。

此外,Paddy 的回答也应该有效。为两个 textField 设置两个不同的密钥并分别访问它们。

好的!我自己解决了这一切,并得到了上面这些人的帮助!谢谢大佬指教!你对我帮了大忙!!!我所做的只是为页面制作了两个 viewcontroller,所以我不需要我的 UItextfield 共享两个输入!谢谢!!!