iOS 캠프 TIL - 2021.04.12 월

Updated:

프로젝트 관리 앱 진행 내용

  • 할일 상세/추가 화면
    • 할일 상세 화면과 추가 화면을 모드로 구분
    • 버튼 오동작 수정
    • 할일 수정 기능

문제점 / 고민한점

내비게이션 바 버튼을 setLeftBarButton으로 변경했는데 사라짐

네비게이션 바의 버튼을 setLeftBarButton()을 사용하여 @IBOutlet으로 선언한 버튼으로 변경했는데 버튼이 보이지 않는다.

해결 방법

버튼의 weak를 지워서 strong으로 선언하면 제대로 동작함

원인

해당 뷰컨트롤러에 진입시 버튼이 바로 보여지는게 아닌데, 버튼을 weak선언하여 ARC가 메모리에서 해제시킴

Cancel버튼을 눌러도 Done버튼으로 인식해버림

  • 내비게이션 바 버튼을 tag로 구분했는데 Cancel버튼을 눌러도 Done버튼으로 인식되었다
  • tag는 버튼의 didSet에서 등록했음

해결 방법

스토리보드의 tag설정만 남기고 코드는 제거

원인

  • 스토리보드의 tag설정이 코드로 tag 설정한 것 보다 우선적용됨
  • 또는, IBOutlet으로 인스턴스가 생성되고 didSet이 동작한 후에 스토리보드의 tag 값이 설정되는 걸까? 아무튼 스토리보드로 만든건 스토리보드에서 설정하자

Leave a comment