ios) datePicker 사용하기 feat.어이없는에러..

슆공부·2022년 7월 10일
0

메모장 어플을 만들면서 날짜를 기록하기 위해 datePicker를 사용해보았다.

UIdatePicker는 Date객체와 텍스트를 변환해주는 UIControl이다.
지금 만들고 있는 앱에서는 날짜를 datePicker로 선택해서 DiaryDate라는 Date타입 변수에 저장할 것이다.

  private func configureDateFigure() {
    datePicker.datePickerMode = .date
    datePicker.preferredDatePickerStyle = .wheels
    datePicker.addTarget(self, action: #selector(datePickerDidChange(_:)), for: .valueChanged)
    dataTextField.inputView = datePicker
  }

datePicker를 생성해주는 코드는 위와 같다.
addTarget 메서드는 값이 바뀔대마다 datePickerDidChange 메서드가 실행되도록 해준다.
그 다음줄은 dateTextField를 선택했을 때 키보드가 아닌 날짜 선택 창이 뜨도록 해준다.

참고로 데이터 객체는 Date()를 선언하면 현재의 Date를 얻을 수 있다.
이때 얻은 Date는 "2020-08-13 09:14:48 +0000" 이러한 형태로 넘어온다. 이것을 우리는 원하는 형태의 텍스트로 변환해서 보여주고 저장할 것이다.

  @objc func datePickerDidChange(_ datePicker: UIDatePicker) {
    let dateFormatter = DateFormatter()
    //날짜와 텍스트 변환해줌, date를 날짜로/ 날짜를 date로 변환
    dateFormatter.dateFormat = "yyyy/ MM/ dd/(EEEEE)"
    dateFormatter.locale = Locale(identifier: "ko_KR")
    diaryDate = datePicker.date
    dataTextField.text = dateFormatter.string(from: datePicker.date)
  }

datePickerDidChange 메서드를 작성하였는데 DateFormatter를 사용하여 date객체를 변환시켰다.

여기서 잘못 읽고 월을 계속 소문자로 입력해서 시간을 버렸다..ㅎ

0개의 댓글