minjae-L / ShowWeather

날씨 알려주는 앱
0 stars 0 forks source link

UISearchController 추가버튼을 눌렀을 때 홈화면으로 돌아가는방법 #5

Open minjae-L opened 5 months ago

minjae-L commented 5 months ago

UISearchController는 3가지 형태가 있다.

홈VC - ViewController 검색결과VC - SearchResultViewController 자세한정보VC - WeatherViewController

검색창에 문구를 적어서 해당 문구에 맞춰 필터링된 결과를 선택한다. 선택하면 자세한 정보가 담긴 뷰를 present하게 되는데, 거기 뷰에서 추가 버튼을 클릭 시, 홈화면의 "아무것도 누르지 않은 형태" 로 돌아가려고 한다.

ViewController - SearchResultViewController - WeatherViewController 세개의 뷰컨이 쌓여있다.

스크린샷 2024-06-14 오후 9 29 50
Key5771 commented 5 months ago

SearchResultViewControllerviewDidLoad가 실행되었다가 안되는 이유는 ViewControllerconfigureNavigationBar() 메소드에서 UISearchControllersearchResultControllerSearchResultViewController를 넣어주고 있는데 이미 뷰가 메모리에 있어서 그럴 수 있다고 생각이 드네.

정확한 이유는 잘 봐야겠지만 dismiss 할 때 메모리에서 해제되는지 확인해보는 것도 좋을 것 같아. deinit { } 이 호출되는지 확인해보는 것도 방법일듯..?

minjae-L commented 5 months ago

해결방법: viewWillAppear에서 delegate 지정

Key5771 commented 5 months ago

viewWillAppear에서 delegate 관련된 걸 처리할 때 메모리 누수도 같이 확인하면 좋을 것 같아.