2014년 4월 14일 월요일

[iOS] Segue 관련 함수

Storyboard의 Segue관련해서 몇가지 함수를 정리해 둡니다.

[Segue 선언]

- Xcode의 Storyboard에서 Ctrl+Drag를 통해서, 어디에서 어디로 이동할 것인지 Segue를 정의하고, 그 Identifier를 설정해 둡니다.

[Segue 실행]

- Storyboard에서 버튼이나 테이블뷰셀에서 호출되도록 할 수도 있고, ViewController에서 identifier로 호출할 수 있도록 설정할 수 있습니다.
- 버튼에서 Ctrl+Drag로 ViewController로 이동하면, 버튼의 Triggere Segues를 설정할 수 있습니다. 이렇게 되면, 그 버튼이 터치되면, 설정한 Segue를 실행하게 됩니다.
- ViewController에서 Ctrl+Drag를 해서 다른 ViewController로 이동해서 설정하고 id를 설정해 두면, id를 가지고 segue를 호출 할 수 있게 됩니다.
  실행함수는 performSegueWithIdentifier:sender: 함수로 id를 가지고 호출 할 수 있게 됩ㄴ디ㅏ.

[Segue 호출]

Segue가 호출되어 시작될 때, 시작됨을 알리는  -prepareForSegue:sender: 함수가 호출이되고, 이 함수에서 이동할 destinationViewController와 sourceViewController를 알 수 있고, 호출 ID를 통해서, 어떤 Segue인지를 알아서 구분할 수 있게 됩니다.
여기에서 ID에 따라서, destinationViewController에 설정을 추가해서 데이터를 전달 할 수 있게 됩니다.
- destinationViewController가 예상하는 특정 ViewController가 맞는지 확인을 위해서는 NSObject에 정의되어 있는 isKindOfClass: 함수를 이용하여 확인하는 것이 필요합니다.


[참고]
- Unwind Segue는? (블로그 : [iOS] Unwind Segue 사용하기)