我还是iOS开发的新手,我想知道如何完成某些事情。我所拥有的是UIViewController对象FirstController
和SecondController
。在FirstController
的NIB文件中,我有一个UITextField。在SecondController
的NIV文件中,我有一个UILabel。
我想要做的是在更新UITextVew时用新值更新UILabel。到目前为止,我在FirstController
中有以下内容:
- (IBAction)tbxName_EditingChanged:(id)sender;
在SecondController
我在Outlet Collection中有标签,如下所示:
@property (retain, nonatomic) IBOutletCollection(UILabel) NSArray *lblName;
现在,我已经制作了这个系列,因为我打算在将来添加更多需要更改的标签,并且所有标签都具有相同的价值。
所以,我认为我必须做的是将SecondController
的引用放入我的FirstController
,以便我可以运行自定义'更新'方法。像这样:
FirstController *viewController1 = [[[FirstController alloc] initWithNibName:@"FirstController" bundle:nil] autorelease];
SecondController *viewController2 = [[[SecondController alloc] initWithNibName:@"SecondController" bundle:nil] autorelease];
viewController1.secondView = viewController2;
// do the rest to load the views...
现在,我已经了解到,我在.net中学到的很多东西,不是你在Objective C中做事的方式。我想知道这是我必须做的,还是有另一个我没有找到谷歌的方式?
感谢您的帮助,我希望我能够清楚地解释这一点。
答案 0 :(得分:3)
以可预测的,可靠的方式解决这些问题是Model-View-Controller设计模式的重点。关键是,您希望第一个UIViewController更新模型,这将通知第二个UIViewController更新其视图。