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처럼 사용하면 될 것 같다.