2012-01-08 29 views
1

我還是iOS開發新手,我想知道如何完成某件事。我擁有的是UIViewController對象FirstControllerSecondController。在用於FirstController的NIB文件中,我有一個UITextField。在SecondController的NIV文件中,我有一個UILabel。在不同的UIViewController上更新標籤

我想要做的是在更新UITextVew時使用新值更新UILabel。到目前爲止,我在我的FirstController如下:

- (IBAction)tbxName_EditingChanged:(id)sender; 

SecondController我的標籤,一個出口集合,像這樣:

@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中,是不是你做的目的C.事情,我想知道的方式,如果這就是我。必須這樣做,還是有另一種方法,我沒有找到谷歌?

感謝您的任何幫助,我希望我對此有足夠清楚的解釋。

回答

3

以一種可預測,經過驗證的方式解決這些問題是Model-View-Controller設計模式的要點。重點是,你想讓第一個UIViewController更新模型,這將表明第二個UIViewController更新它的視圖。

我建議有一個模型的地方。通過使用singleton(首先在應用程序代理中初始化)或core data(它稍微先進但非常強大)。

+0

謝謝,對不起,我沒有早點檢查。我有一些關於UITableView的「學習」。這真的有幫助! – 2012-01-09 15:37:36