即時創建一個應用程序,目前有6個視圖控制器,現在在視圖控制器6我有一個文本字段,當他們編輯它,它需要編輯視圖控制器3中的標籤,我如何鏈接在viewcontroller6中聲明的插座.h在故事板中的視圖控制器3中的東西?我知道它很複雜,但任何幫助都會非常棒! :)謝謝如何在視圖控制器之間鏈接插座?
回答
我已經回答過這個類似的問題:
例子:Delegates。
快速回答是,您不能真正將vc6中的插座「鏈接」到vc3中的某個插座,就像您在IB中使用控制拖拽一樣。完成你想要的最好的方法是使用委託模式,我在鏈接問題中概述了這一點。
它需要一些額外的工作,但這是一個非常重要的技能。
您無法將故事板中的vc6插座連接到vc3。有多種方式將數據傳遞從VC6到VC3:
使用委託模式(如達斯汀提到的)到文本字段數據傳遞從VC6到VC3。但是,如果您的視圖控制器從vc3到vc4到vc5到vc6是按順序鏈接的,那麼使用這種方法可能很乏味。
使用共享實例(單例)。我使用here的代碼。如果你有相當多的數據需要傳遞,我會推薦這種方法。
使用NSUserDefault記住文本框數據,並在vc3中顯示標籤時,使用[NSUserDefaults standardUserDefaults]讀回值。很好,如果你只有很少的數據可以傳遞。這種方法的另一個優點是您可以記住下次啓動的這些數據,並且可以在將vc6中的文本字段顯示給用戶輸入之前正確顯示vc3中的標籤。
4.發佈NSNotification! – 2012-08-01 05:45:11
首先,在你的viewcontroller6中,你需要#import「viewcontroller3.h」。 然後在viewcontroller6.m中,您可以創建viewcontroller3的一個實例。然後您可以訪問所有viewcontroller3的數據。您可以在viewcontroller6.m的viewcontroller3實例中設置數據,並推送到viewcontroller3的視圖,並且您的數據應該在那裏。
雖然如果它是一個標籤,您可能需要在您的viewcontroller3.h中創建NSString * stringText的屬性,然後在您的viewcontroller3.m文件中將其合成,然後在視圖controller6中將該字符串設置爲聲明的插座值在viewcontroller6中。並且在將它推送到視圖控制器3之後。在view controller3的viewdidload()中執行類似label.text = stringText的操作;
所以,現在,您在viewcontroller3中的標籤應該更新爲stringText中的任何內容..這是從viewcontroller6中設置的。
- 1. 如何在不同的視圖控制器中創建插座?
- 2. 如何在控制器和視圖之間建立連接?
- 3. 在視圖控制器之間導航?
- 4. 在視圖控制器之間切換
- 5. 視圖控制器之間的選擇
- 6. 視圖控制器之間的通信
- 7. 如何解除視圖控制器鏈?
- 8. swift之間在視圖控制器之間滑動
- 9. 如何在視圖控制器之間滑動?
- 10. 如何在視圖控制器之間同步索引
- 11. 如何在視圖控制器之間傳遞數據
- 12. 如何在視圖控制器之間傳遞數組?
- 13. 如何在兩個視圖控制器之間切換
- 14. 如何在3個視圖控制器之間傳遞信息?
- 15. 如何在視圖控制器之間傳遞UIImageView?
- 16. 如何在不同的iOS視圖之間共享控制器
- 17. 如何在iPad上的視圖控制器之間切換?
- 18. emberjs如何在控制器和視圖之間進行通信?
- 19. 如何在兩個視圖控制器之間傳遞整數?
- 20. 如何在視圖控制器之間轉換
- 21. 子類化一個主視圖控制器與插座
- 22. 爲視圖控制器設置插座/動作
- 23. MVVM在視圖和視圖控制器之間具有繼承
- 24. 在視圖/視圖控制器之間傳遞變量
- 25. 視圖控制器鏈
- 26. 視圖控制器:如何以編程方式在視圖之間切換?
- 27. 引用具有新視圖控制器表格視圖的插座
- 28. 如何在呈現視圖控制器和呈現的視圖控制器之間建立關係?
- 29. 如何在父視圖控制器和子視圖控制器之間傳輸數據
- 30. iPhone:如何在父視圖控制器和細節視圖控制器之間來回傳遞數據
@Yar我鏈接的答案包括如何與代表一起使用故事板。 – Dustin 2012-08-01 12:13:33
@yar你是對的,我只是把整個問題聯繫起來,因爲其他答案也很好。 – Dustin 2012-08-01 17:36:57