강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

김찬교님의 프로필 이미지
김찬교

작성한 질문수

mvvm uitextfield delegate 관련 질문

작성

·

199

·

수정됨

0

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hjloveu012&logNo=221601526390&categoryNo=24&proxyReferer=

 

이 링크에 있는 코드를 이용해서 강의하셨던 memberlist mvvm 강의 참고하여 앱을 만들고 있는데요..

스크린샷 2024-01-08 오후 6.29.02.png스크린샷 2024-01-08 오후 6.29.18.png

사진 처럼 save를 해서 가격에 있는 데이터 값을 저장하고 새로 생성된 셀을 클릭하면 아래 화면이 나오는데 가격이 0으로 계속 수렴합니다 디버깅을 통해 save해서 데이터값이 올바르게 들어오는 것까진 확인을 했는데요 셀을 클릭하고 detailview로 넘어가는 과정에서 데이터값을 전달 못받는건가 싶은데 몇일동안 구글링해봤지만 해결을 못하고 있습니다...

또한 기존에 생성되있는 1개의 멤버리스트 배열 또한 nametextfield 부분은 수정해도 잘 뷰에 표시 되는데 동일하게 가격 부분을 수정해서 update하면 디버깅을 통해 데이터가 정상적으로 들어오는것은 확인되나 셀을 클릭해서 detailview로 넘어오면 0으로 표시 됩니다.

링크에 있는 코드를 사용하지 않으면(extension으로 uitextfield delegate) 입력한 데이터 값이 잘 저장되고 잘 보여집니다.

github에 올려서 다른 커뮤니티에 올려보고 하는데 아무런 피드백을 받을 수 없어서 돌고 돌아 여기에 질문 남깁니다.. 꼭 좀 부탁드리겠습니다 ㅠㅠ

참고로 깃허브 주소 남기겠습니다 

https://github.com/theBettor/StackToShop

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
김찬교님의 질문에 답변드리겠습니다.

셀을 클릭했을 때 DetailView로 데이터가 제대로 전달되지 않는 문제는 몇 가지 원인이 있을 수 있습니다.

  1. Delegate를 활용하여 UITextField의 데이터를 가져올 때, 실시간으로 변하는 값을 올바르게 감지하고 있는지 확인하세요. UITextFieldDelegate 메소드인 textFieldShouldEndEditing 또는 textFieldDidEndEditing 안에서 입력된 값이 모델에 잘 반영되는지 확인이 필요합니다.

  2. MVVM 패턴을 사용하고 계시다면, View와 ViewModel 사이의 데이터 바인딩이 올바르게 구성되어 있는지 확인하세요. 가격 데이터를 ViewModel에 업데이트하고, 해당 ViewModel이 DetailView와 바인딩되어 있는지 확인합니다.

  3. DetailView로 데이터를 넘길 때, 넘기는 데이터가 실제로 사용자가 입력한 최신 데이터인지 확인하세요. 예를 들어, 가격 데이터를 넘기기 전에 실제로 가격 필드에 입력되어 있는 값을 전달하고 있는지 확인이 필요합니다.

해당 문제를 해결하기 위해 멤버리스트 배열에 가격 데이터를 업데이트하는 로직과 DetailView로 데이터를 전달하는 로직을 자세히 살펴보시고, 필요한 경우 해당 부분의 코드를 디버깅을 통해 점검해보세요.

만일 코드의 문제를 찾지 못하시면 GitHub 이슈 트래커나 코드 리뷰 요청, 혹은 관련 커뮤니티에서 좀 더 자세한 내용을 포함하여 도움을 요청해보시는 것도 좋은 방법입니다.

깃허브 주소도 잘 확인하였습니다. 이 문제가 해결되기를 바라며, 프로젝트 수행에 좋은 결과 있으시길 바랍니다.

김찬교님의 프로필 이미지
김찬교

작성한 질문수

질문하기