iOS/iOS Swift 개발 일기

[의문점] Do it! 알람시계 만들기

Developer-Michelle 2022. 5. 3. 12:16

 

뭔가 잘 안된다...

alarmTime 은 도대체 무엇일까?

UIview에서 끌어와야 되는건가.. 근데 그렇게 해도 안됨.

 

위에서 두번째 오류는  selectedTime.text 로 해서 고쳐짐.

그래도 첫번째, 세번째 오류는 모르겠음.

 

 

***

맨 위에서 

 var alarmTime: String?

이거 안해서 오류가 계속 떴었음.

string type  으로 선언했어야 했다.

 

+ 그리고 오답노트:

 

의문점

1. 왜 alarmTime은 위에서 string 타입을 선언하는데

currentTime은 필요가 없을까?

 

2. 왜 alarmTime 은 let으로 선언 x,

but currentTime 은 let 으로 선언 o?

 

-아마도 alarmTime = string = var 로 선언

-currentTime =  상수 = let 으로 선언

그런데 각각 문자열, 상수라는걸 어떻게 알 수 있는가?

아마도 datePickerView.date 와 date as Date의 차이같음.

 

Q. alarmTime 과 currentTime만 놓고보면,

alarmTime = formatter.string(from: datePickerView.date)

let currentTime = formatter.string(for: date as Date)

위에처럼 되는데,

똑같이 .string으로 적히는데 왜 위에 alarmTime은 var 로 선언해야하고,

아래 currentTime 은 let 으로 선언해야할까요?

 

-> 답변: 로직 흐름상 변경이 필요한 변수는 var 선언하는거고 그렇지 않으면 let 권장하는거지 currentTime var 선언한다고 해서 오류가 생기는건 아닙니다

mutable 개념에 대해서 찾아보세요~

-> 지역변수인 currentTime도 밑에서 변경하게 되면 var 바꾸던지 아니면 수정하지 말라고 경고뜰껍니다

-> 둘다  var let 이던 상관 없어 보입니다.

다만 이후 해당 변수를 변경 할꺼라면 var 쓰시면 되지요.

 

 

https://limjs-dev.tistory.com/entry/Swift-Date-Picker

 

[Swift] Date Picker

스토리보드로 Date Picker를 만들어보자 프로젝트는 이전 글과 똑같이 만들어주면된다. 2021.05.28 - [Dev/Swift] - [Swift] Image View [Swift] Image View 내가 원하는 이미지를 화면에 출력해보자 스토리보드..

limjs-dev.tistory.com