Pass Data 방법 중 delegation pattern에 관한 질문
안녕하세요 :)
데이터를 전달하는 6가지 방법 중 delegation pattern 에 관해서 질문드립니다.
데이터를 전달하는 방법 영상에서 설명해주실 때 ViewController 화면에 있는 버튼을 눌러 DelegateDetailViewController 화면으로 이동한 다음, DelegateDetailViewController 화면에 있는 버튼을 누르면 다시 ViewController로 이동하면서 데이터를 넘겨줘서 ViewController 화면에 있는 label 값을 바꿨습니다.
그런데 위의 상황이 아니라 Viewcontroller에서 DelegateDetailViewController 화면으로 이동하면서 데이터를 전달하고 싶으면 delegation pattern 방법을 어떻게 써야할까요??
+추가 질문
A 화면에서 B화면으로 이동하고 다시 B화면에서 A화면으로 이동하면서 데이터를 전달하는 상황일 때만 Delegation pattern으로 데이터를 전달할 수 있는건가요??
回答 2
1
안녕하세요
delegate패턴을 이용해 데이터를 전달하는 이유가
바로 전달할 수 없고 대신 전달해줄 무언가가 필요해서 입니다.
A에서 -> B 뷰컨으로 갈 때 A에서는 B를 인스턴스화 시키고 B로 넘어갑니다.
그러니 A는 B의 정보를 갖고 있고 B의 멤버에 접근이 바로 가능해서 바로 B에 데이터를 넘겨줄 수 있습니다.
그런데 반대로 B에서는 A의 정보를 가지고 있지 않습니다.
B에서 pop이나 dismiss를 하면 마치 B에서 A로 가는것처럼 보이지만
실제로는 B에서 A로 가는게 아니고 B를 현재 화면에서 없애는 것이고,
그러면서 뒤에있던 A가 보이게 되는 것입니다.
그래서 B는 A의 정보를 모르고 있으니 A에 데이터를 주려면 A의 정보를 알고 있는게 필요한데 그 역할을 하는 대리자가 delegate패턴 입니다.
그러므로 B에서A로 갈 때 delegate패턴을 이용해서 데이터를 넘기는 것입니다.
클로저내의 return 질문
0
52
1
movieapp 3 46분 실행이 안돼요ㅜㅜ
0
184
2
missing constraints 에러
0
219
1
콘솔창 print 내용 안 뜸
0
217
1
키보드 떠 있는 상태 만들기
0
309
1
pageViewController 호출시점
0
372
2
20:01 쯤에서
0
288
1
WebView와 이니시스 결제
0
606
1
movie App 영상이 안나오고 소리만 나옵니다.
0
574
2
to do app 강의중에
0
255
1
UIKit 요소에 대하여...
0
314
1
기업 내부용 앱을 만들어 설치하고 싶다면?
0
597
1
Break Point 사용법
0
403
2
클론 프로젝트 코드 요청드립니다.
0
318
1
extension UIColor
0
247
1
TintColor란 정확히 무엇인가요?
0
640
1
computedProperty 와 func 는 각각 언제 사용하면 좋나요?
0
256
2
force cast 질문입니다.
0
212
1
Optional 관련 질문드립니다.
0
252
1
ToDoApp에서 셀간의 간격 설정에 관한 질문
0
323
1
45도 회전의 경우
0
713
2
파일 여는 방법에 대해서 질문 드립니다
0
231
1
navigation backgrouncolor가 파스텔톤으로 적용되지 않는 건에 대하여
0
316
2
To do App 질문있습니다.
0
213
1

