我最近開始爲iPhone開發,到目前爲止我的表現相當不錯,但是我看起來並沒有這樣的基本模式。如何將委託設置爲另一個ViewController?
說,我有兩個視圖和自定義委託協議的TabBar,因而我的結構如下:
- AppDelegate.h/.M
- myDelegateProtocol.h
- FirstViewController.h /.m
- SecondViewController.h/.M
- MainView.xib
- FirstView.xib
- SecondView.xib
現在我要實現以下目標:我把一個按鈕,在FirstView.xib,我想它調用IBAction爲將消息發送到(FirstViewController OFC內。) SecondViewController([self.delegate tellSecondViewContrToSayHi])並調用另一種方法,它只是在控制檯上打印一條日誌,說「嗨,我在這裏」。
到目前爲止,我知道我需要在理論上做:
- 指定協議。
- 在SecondViewController中實現協議。
- 我FirstViewController內創建ID < myDelegateProtocol>委託 ...最後但並非最不重要的:
- 設置self.delegate = secondViewControllerObject。
現在,nr.4是問題所在。我如何將代理鏈接到其他viewController?我的意思是我不是那個實例化視圖的人,因爲tabBar有點爲我做,...任何建議?還是我太累了,不能注意到我在某個地方做了一件非常愚蠢的事情?
理論上同樣的問題也適用於目標:action:thing,...我的意思是,如何定義目標?
非常感謝, 芥末
我很好奇,如果你的設計是健全的。看起來好像你可能試圖以有趣的方式使用委託。 – 2011-04-20 21:05:21
你是對的!這實際上在我的任何應用程序中都沒有真正的應用程序,我只是很好奇並且四處遊蕩以便......好了解了一些事情並理解機制:) – pkluz 2011-04-20 21:20:56
檢查了一下,它有相當不錯的信息:http ://stackoverflow.com/questions/626898/how-do-i-create-delegates-in-objective-c – 2011-04-20 21:32:53