我是xcode和objective-c的初学者,我目前正在构建一个读取xml文件的应用程序,并将它们的值与文本字段值进行比较。
我有2节课。第一个是我的视图控制器,我的文本字段是。第二个类是我遍历我的xml文件的地方。
我只是希望能够访问textfield的文本我的XML迭代器类。 重要的是我可以将在文本字段中输入的文本保存为迭代器类中的变量。
我试图做这样的事情,但它不起作用:
ViewController *viewcontroller = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];
viewcontroller.string = self.myTextField.text;
由于我很长时间没遇到这个问题,所以非常感谢帮助。
答案 0 :(得分:1)
让我们回到MVC模式的基础知识(代表模型 - 视图 - 控制器) - 您的视图控制器直接与您的视图对话和< em> model (或任何帮助程序,在我们的例子中是XML迭代器)。因此,最有可能的正确方法是直接在ViewController的实现中提供XML迭代器文本值,并在每次文本字段的值更改时更新/重置XML迭代器。
实现此目的的一种方法是在@property
类中对XML迭代器具有强ViewController
(创建XML迭代器实例一次,然后分配到属性并稍后使用它)。另一种常见方法是将XML迭代器实现为单例类。
在您确切的情况下,很难说哪个选项更好(例如,您也可以使用协议甚至通知)。然而,上面描述的这种通用的面向MVC的方法适用于大多数基本情况。有关更多信息,请参阅模型 - 视图 - 控制器模式 - Apple Documentation是正确的起点。