Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Array of Outlets of type Label

I have 16 Outlets variables.

@IBOutlet var label00: UILabel?
@IBOutlet var label01: UILabel?
@IBOutlet var label02: UILabel?
@IBOutlet var label03: UILabel?
@IBOutlet var label10: UILabel?
@IBOutlet var label11: UILabel?
@IBOutlet var label12: UILabel?
@IBOutlet var label13: UILabel?
@IBOutlet var label20: UILabel?
@IBOutlet var label21: UILabel?
@IBOutlet var label22: UILabel?
@IBOutlet var label23: UILabel?
@IBOutlet var label30: UILabel?
@IBOutlet var label31: UILabel?
@IBOutlet var label32: UILabel?
@IBOutlet var label33: UILabel?

I want to declare them as an array but don't know how to do it.

like image 929
hatim Avatar asked Oct 27 '25 06:10

hatim


2 Answers

You have to create IBOutlet Collection like as

@IBOutlet var labels: Array<UILabel>!

For more reference of code check this question :

1) Can't hook up an outlet collection in Xcode 6 using storyboard

2) Swift - IBOutletCollection equivalent

For example :

enter image description here

like image 61
Ashish Kakkad Avatar answered Oct 29 '25 21:10

Ashish Kakkad


Follow these steps to create an array of outlets an connect it with IB Elements:

  • Create an array of IBOutlets
  • Add multiple UIElements (Views) in your Storyboard ViewController interface
  • Select ViewController (In storyboard) and open connection inspector
  • There is option 'Outlet Collections' in connection inspector (You will see an array of outlets there)
  • Connect if with your interface elements

-

class ViewController2: UIViewController {


    @IBOutlet var collection:[UIView]!


    override func viewDidLoad() {
        super.viewDidLoad()
    }
}

enter image description here

like image 22
Krunal Avatar answered Oct 29 '25 22:10

Krunal



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!