好久沒寫文章了,最近忙著年前的專案都沒時間寫了,今天就來就來介紹一個在開發過程中,應該都會遇到的一個問題,就是需要多個同一個元件下,要做相同事情,但要如何比較好做呢?相信大家在做layout時從元件拉出關聯到類別檔上,會看到(圖1),已往如相同元件我們都得一一拉出來,程式又寫的又臭又長,明明都是做同樣事情,但又要知道哪個元件做哪件事情,因此我們會以tag來做區別,那有什麼方法可以簡化呢?
接下來就介紹IBOutletCollection的用法了.
(圖1)
情境:
1.今天我們拿到一個示意圖,如(圖2)所示,可以看到 都是勾選,這麼多難道我們要一一拉出來嗎?
(圖2)
2.其實我們可以使IBOutletCollection來做,我們一樣從元件拉出關聯來但是需要選擇OutletCollectionf(圖3)
(圖3)
3.可以看到拉出來的格式是一個NSArray的型態(圖4),我可以把它想像成多個元件包成一個集合的概念,這邊我們就同元件拉到同一個裡面,如(圖5).
(圖4)
(圖5)
4.這時可能會問那要怎麼知道哪個元件被點選呢?這邊我們一樣相同的元件都拉到 IBAction來(圖6),這樣寫index就可以知道哪個元件被點選要做什麼事情了,是不是很簡單呢?
(圖6)
5.以上IBOutletCollection 的用法,就介紹到這裡.
沒有留言:
張貼留言