如何查看IBOutletCollection的實際用法?不幸的是,Apple文檔沒有提供更廣泛的用法思路,而是簡要提及它。好吧,它保持與IB的一對多關係,但是如何有效地訪問和使用特定對象?使用TagName?如何確保對象的順序?實際使用IBOutletColletion
5
A
回答
5
我最近使用它來輕鬆初始化標籤網格。我在視圖上有一個n×n的標籤矩陣,並單獨引用每一個(通過IBOutlet)以顯示相關數據。然而,當視圖第一次加載時,我想控制所有標籤中顯示的默認文本。最初我想要一個短跑顯示,但由於這是一個客戶,我希望它很容易改變。視圖內容隨着時間的推移而不斷變化,並且每個客戶端請求都會不斷變化
我創建了一個IBOutletCollection,並在4(@property,@synthesize和for循環)中完成了相同的結果,而不是編寫N行代碼。 YMMV,但我發現它在這種情況下非常有用。
0
在Interface Builder User Guide中再次閱讀this section。
IBOutletCollection
s實際上只是NSArray
s您可以連接到IB中的多個對象。你連接的所有對象最終都在這個數組中,並且可以像代碼中的任何其他對象一樣從代碼中訪問。
0
我用它來最小化代碼。我有一系列的UIViews應該對一些UIButtons(自定義模式)的「觸及內部」事件做出反應。
我給所有的UIButtons一個標籤(可以說1005到1010),並且所有的UIViews都與它們應該響應的UIButton具有相同的標籤。
然後我將UIViews與Interface Builder中的集合連接起來。所有UIButton觸摸事件都轉到我的控制器中的相同功能。這個函數獲取sender對象的標籤,遍歷NSArray列表(「IBOutletCollection(UIView)」)並比較標籤。每次它命中,適當的行動就完成了。
這是一個遺憾,NSArrays似乎無法保存訂單......這到底是什麼蘋果的文檔中描述
相關問題
- 1. 實際使用
- 2. C#實際使用
- 3. 實際使用dynamic_cast?
- 4. NodeJS實際使用OAuth(Twitter)
- 5. 實際使用WS-CDL
- 6. 實際使用IdentityHashMap的
- 7. 是實際使用的xsi:schemaLocation?
- 8. 實際使用界面
- 9. Vim,實際使用示例
- 10. WPF隧道,實際使用?
- 11. 如何實際使用OkHTTP
- 12. ChannelUrl何時實際使用?
- 13. 如何實際使用ClojureScript?
- 14. 使用NavigateToLocalStreamUri的WebView實際上並不實際導航
- 15. jQuery.get() - 實際用途?
- 16. 我如何實際使用Raft算法
- 17. PHP實際使用多少內存?
- 18. Laravel路由實際使用案例
- 19. 實際的例子使用Hibernate FlushMode.ALWAYS
- 20. 何時實際使用savedInstanceState包?
- 21. Vim Pymode不使用實際env
- 22. 「ref」使用的實際示例
- 23. AtomicLongFieldUpdate類的實際使用和解釋
- 24. 實際使用接口事件
- 25. Playframework play.api.libs.json.Json.format實際使用情況
- 26. 實際使用自動矢量化?
- 27. 什麼是monoids的實際使用?
- 28. MarkupExtension.ProvideValue - IServiceProvider實際使用了嗎?
- 29. 使用mod_rewrite隱藏實際的URL
- 30. 雙向鏈表的實際使用
:)現在,怎麼看起來實際使用?你說過,我可以像任何其他數組中的任何其他對象一樣訪問每個對象。確實,但是這個數組是如何排序的?我應該在開始時自行排序嗎?以及如何區分這個數組中的對象?有標籤?如果是這樣,我應該遍歷整個數組來尋找我正在尋找的對象,或者最好用謂詞搜索數組?等等...... – juckobee 2010-09-05 11:05:10
如果你正在尋找特定的物體,你可能不應該使用這個。如果您想要遍歷元素列表,請使用它。如果你需要區分它們,你可以使用'tag'屬性,或者'target'和/或'action'。 – Sven 2010-09-05 11:17:16
不幸的是,在運行時不會保留添加項目到集合的順序。 – zubko 2011-04-30 11:34:16