func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let strategyPicker=segue.destination as! StrategyViewController
strategyPicker.folder=self.folder
NSLog("Tried to pass \(self.folder) into \(String(describing: strategyPicker.folder))")
}
lldb에서 디버깅하려고하면 단순히 segue.destination을 할당하면 대상보기 컨트롤러에서 viewDidAppear가 트리거되는 것 같습니다. 폴더를 전달하기 전에 대상에서 viewDidAppear에서 치명적인 오류가 발생합니다. 모든 이니셜 라이저 코드가 실행되어야한다는 것을 이해합니다 (그리고 두 개의 필드가 lldb e 명령에 따라 올바르게 초기화됩니다). prepareForSegue가 끝나기 전에 viewDidAppear가 호출된다는 것은 의미가 없습니다.Segue Destination Call은 언제 표시합니까?
대상 viewDidAppear에서 오류가 발생하기 전에 strategyPicker.folder 할당 및 NSLog에 중단 점이 있으며 둘 다 트리거를하지 않습니다.
어떤 조언이 필요합니까? prepare(for:sender:)
를 호출하기 전에
사과드립니다. 코드는 스위프트 2로 작성되었으며, 스위프트 3에서는 무시되고 수동으로는 - 잘못 스위프트 4로 변환되었습니다. – TimOnTheLeftCoast