3월, 2022의 게시물 표시

Self Check In 앱 설명 글

이미지
이 글은 Self Check In 앱의 사용 법을 설명 해 놓은 글 입니다. 1. You can scan QRCode by camera 2. When you scan valid QRCode, You can check data at calendar 3. You can make profile by Sign In with Apple 4. You can create QRCode by create group 5. Also you can join group 6. Enter group code  

[인터뷰질문 020] raw strings 이란 무엇인가요?

이미지
관련주제 : Swift  난이도 : 하 raw strings raw strings 는 swift5에 추가된 자연스러운 String을 쓰는데 도움을 주는 기능입니다. 지연스러운 String은 어떤 걸까요? 아래의 문자열을 비교해 보겠습니다! let naturalString = # "" Hello world! "" # let unNaturalString = "\"Hello world!\"" print(naturalString) // "Hello world!" print(unNaturalString) // "Hello world!" 익숙함에 따라 어떤 문자열이 더 자연스러운지가 다를 수 있을텐데요, 설명을 드리자면 # 기호 사이에 "" 이렇게 문자열을 나타내주는 기호가 있다면, 그 사이에 있는 어떤 특수 문자도 자연스럽게 처리해줍니다. 기존에는 \ 기호를 특수 문자 앞에 붙여서 이 기호가 특수 기호인지 나타낼 필요가 없습니다. 말 그대로 자연스러운 문자열을 만들 수 있는 것입니다. 만약 문장 안에 # 기호를 사용해야 한다면, ## 기호를 문장의 시작과 끝에 붙여주면 됩니다. 활용법 기존에 문자열 사이에 변수를 넣는 방법과 다르니 유의 해주세요! let name = "Leeo" let normalString = "Hello, \(name) !" let rawString = # "Hello, \#(name)!" # let wrongRawString = # "Hello, \(name) !" # print (normalString) // Hello, Leeo! print (rawString) // Hello, Leeo! print (wrongRawString) // Hello, \(name)! 메리트 특정 상황에서 사용했을 때, 메

[인터뷰질문 019] property observers란 무엇인가요?

이미지
프로퍼티와 옵져버 swift를 쓰다보면, 다양한 프로퍼티들이 있습니다. 쉽게 변수라고 알고있죠. 그리고 옵져버는 관찰자 혹은 감시자 정도로 번역할 수 있는데요. property observers 를 직역해보면 변수 관찰자 정도가 될테고, 그 내용은 프로퍼티의 수정사항을 탐지하는 것 입니다. 즉 프로퍼티(저장 프로퍼티)에 변경사항이 생기면, 옵져버가 알려주고, 특정 코드블럭을 실행할 수 있습니다. 글로만 설명하면 어려우니 코드를 통해 알아보도록 하겠습니다. class PointCounter { var totalPoint: Int = 0 { willSet (newTotalPoint) { print ( "점수의 합을 \(newTotalPoint) 점으로 변경할 예정입니다." ) } didSet (oldTotalPoint) { print ( " \(totalPoint - oldTotalPoint) 점이 변경되었습니다." ) } } } let pointCounter = PointCounter () // 점수의 합을 200점으로 변경할 예정입니다. pointCounter.totalPoint = 200 // 200점이 변경되었습니다. // 점수의 합을 300로 변경할 예정입니다. pointCounter.totalPoint = 300 // 100점이 변경되었습니다. // 점수의 합을 200점으로 변경할 예정입니다. pointCounter.totalPoint = 200 // -100점이 변경되었습니다. willSet didSet 이름부터 매우 직관적이죠? 이름에서 부터 알 수 있듯이 willSet은 프로퍼티가 변경되기 바로 직전에 호출 됩니다. 그리고 예상한 대로 didSet은 프로퍼티가 변경된 직후에 호출 됩니다. 그러니 우리가 pointCounter.totalPoint 를 500으