TIL(Today I Learned)

11월 25일(수)

학습내용

  • 여러 View 에 대한 IBOutlet 을 하나의 배열로 관리할 수 있다.
    • @IBOutlet var buttons: [UIButton]! 과 같이 선언한다.
    • weak 키워드는 사용하지 않는다.
    • 스토리보드에서 뷰를 ctrl 누르고 배열로 드래그하면 순서대로 뷰의 레퍼런스(?)가 배열 안으로 들어간다.
  • 여러 버튼에 대한 액션을 각각 구현하지 않고 한 개의 함수로 다룰 수 있다.
    • IBAction 함수를 구현하고 여러 버튼에서 ctrl 누르고 원하는 한개의 함수로 계속해서 드래그하면 된다.
    • 장점은 같은 기능을 하는 여러 IBAction 함수를 구하지 않아도 된다는 점이다.
    • 단점은 한 개의 함수에서 어떤 버튼이 터치 되었는지 구분해줘야 한다는 점이다.

문제점/고민한점

  • 여러 View를 배열로 관리하거나, 한 개의 IBAction 함수에서 여러 View의 액션을 연결할 때, View를 구분하는 방법은 무엇이 있을까?

해결방법

  • 여러 View를 배열로 관리하거나, 한 개의 IBAction 함수에서 여러 View의 액션을 연결할 때, View를 구분하는 방법은 무엇이 있을까?
    • View의 tag를 이용하면 된다. tag는 Int 형이며, 각각의 view에 다른 tag값을 지정해서 이를 ID처럼 사용하면 될 것 같다.