2017-10-21 6 views
0

저는 Swift에서 이미 새로 왔습니다. 나는 시뮬레이터에서 애플 리케이션을 실행합니다. 책 목록이 있습니다. 책 중 하나를 클릭하면 선택한 책에 대한 세부 정보가 표시됩니다. '도서 수정'을 클릭하고 세부 정보를 변경 한 다음 73 행에서 일시 중지 한 '도서 저장'을 클릭하십시오.치명적인 오류 : 예기치 않게 찾지 못했습니다. 선택 값 - 대표자

어디서 실수요? 델리게이트가 "무효"인 이유는 무엇입니까? 감사. 다음과 같이

enter image description here

나는 "위임 필드를 프로토콜을 만들고 선언 enter image description here

+0

다른 사람에게 대리인을 할당하지 않았습니다. – dirtydanee

+0

위임자를 설정하는 곳도 우리에게 보여주세요. – Ladislav

+0

@ 라디 슬라브 나는 질문을 편집합니다. –

답변

2

먼저 구현해야합니다 다음과 같이

enter image description here

이 DetailViewController에서, 나는 컨트롤러 대리자를 설정 대리자를 준수하려는 클래스의 object.delegate = self

또한, 나는대로 대리인에 의해 메서드 호출을 구현하기 위해 제안 : 어떤 이유로 delegate 대신 충돌의 nil 경우

delegate?.editBook(self, editBook: book) 

그것은이 경우, 아무것도 일어나지 않을 것이다.

또한 this answer을 확인하여 대리인을 설정해야합니다 (아마도 언급 한 대답의 세 번째 단계를 놓친 것일 수 있습니다).

+0

답장을 보내 주셔서 감사합니다. 나는 당신이 제안한 것처럼 행동합니다. 그러나 무엇이 왜 그 이유를 이해하는 것은 어렵습니다. –

+0

도와 드리겠습니다. 내가 언급 한 대답을 확인해 봤어? –