-
200909 - TILTIL/2021 2020. 9. 15. 16:40
SWIFT 문법
Operator에 대해서 공부했다.
- Unary, Binary, Ternary Operator
- Operand
- Arithmetic Operator
- Logical Operator
- Assignment Operator
- Comparison Operator
- Overflow Operator
- Range Operator
어려운 부분은 없었다. 주의해서 기억해야 할 점은
첫 번째 실수는 나머지 연산을 할 수 없다! 하고 싶다면
.truncatingRemainder(dividingBy: Double)
method를 사용해야 한다는 점이다.
두 번째는 Range Operator에서의 특징 오름차순으로 적어야 한다는 것 그리고 10 … 1과 같이 lower bound가 upper bound보다 크면 안 된다. 이렇게 적고 싶다면
(0 ... 10).reversed()
와 같이 method를 사용해야 한다.
Logical Operator에서 생각해봐야 하는 부분은
- Short-circuit Evaluation (단락 평가)
- Side Effect
어려운 부분은 아니지만 주의하지 않고 넘어가게 된다면 논리적인 오류가 발생할 수 있으니 주의하자.
side effect를 부작용이라고 굳이 번역하지 말고 side effect라고 하자.
조건을 사용하는 조건문에 대해 공부했다.
- if
- switch
- guard
if와 switch는 C에서 본 것이라 익숙하지만 guard는 익숙하지 않은 구문이다. 하지만 어렵게 생각하지 말자. if문과 비슷하고 주로 옵셔널 바인딩과 같이 사용하는 것 같다.
1에서부터 100까지 짝수만을 더하는 반복문을 구현하는데
var sum = 0 for num in 1...100 where num % 2 == 0 { sum += num }
이렇게 구현을 했는데
for num in stride(from: 0, to: 101, by: 2) { print(num) sum += num }
이렇게 stride 함수를 사용하는 방법과
for num in 1...100 where num.isMultiple(of: 2) { sum += num } sum
.isMultiple(of: ) 메서드를 사용하는 방법도 있다. 이러한 방식이 더 좋은 방식 같다.
IOS
아주아주 간단한 덧셈 계산기를 구현했다.
- 앱을 만들 때 사용자 입장에서 생각을 해보는 게 중요하다는 것을 알았다.
- 강제추출연산자 ! 를 조심하자. 그냥 쓰지 말자.
- 시뮬레이터에서 키보드가 나오지 않으면 cmd + k 누르면 된다.
- 키보드를 바꾸는 것도 Attributes inspector에 있다. 시간 나면 천천히 한 번씩 봐보자.
- UI를 구성할 때 하나하나 오토레이아웃을 맞춰도 되지만 나중에 변동사항이 생긴다면 하나하나 또 바꿔야 한다. UI들을 같이 묶어서 정렬시킬 수 있다! 그런데 다시 해보려 했더니 하는 방법을 까먹었다… 내일 다시 공부해보자
- . becomeFirstResponder()에 대해서 공부했다. 이 메서드를 사용하면 앱을 실행하면 누르지 않아도 해당 텍스트 필드에 커서가 생긴다.
- 입력한 문자를 초기화하려면 “” 빈 문자열을 할당하면 된다. 하지만 주의할 점은 초기화의 시점이다. 코드의 순서를 잘 생각해서 코딩해야 한다.
stapper를 처음 사용해봤다. -, + 를 누르면 증가 감소를 하고 최댓값, 최솟값, 증가량 등은 당연하게 Attributes inspector에 가면 다 있었다.
- 스토리보드와 뷰 컨트롤러를 연결할 때 순서에 주의하자. 놓여있는 위치대로 위에서 아래로, 왼쪽에서 오른쪽 위치를 보고 코드에 위부터 연결시켜야 한다. 그래야 보기 편하다.
@IBAction func showResult(_ sender: Any)
- Action으로 연결하면 이렇게 sender를 매개변수로 받는 메서드가 생성되는데 이때 sender는 이 메서드를 호출한 컨트롤이다. Any라고 쓰여있다고 아무거나 오는 게 아니었다.
그 외…
- Git에 대해서 공부했다. Client인 GitKraken을 설치하고 Local repository를 생성해보고 이것은 Remote repository인 Github와 연결하는 방법도 공부했다. 내가 쓴 코드를 버전별로 추가한 것 제거한 것을 보기 쉽게 해 주었다. 자세한 강의는 내일 유튜브와 생활코딩 사이트에서 더 공부할 예정이다.
- 블로그 작성이 처음이라 세팅을 하고 구상을 하는데 많은 시간이 걸린다ㅜㅜ 이미지를 넣을 때는 https://carbon.now.sh 사이트에서 이미지를 추가하는 법을 공부했다. 사파리에선 다운이 안되고 크롬에서만 가능하던데 방법이 있나 찾아봐야겠다.
- syntax highlighter를 찾고 있는데 많은 사람들이 사용하던 crayon은 이제 지원을 하지 않아서 플러그인을 설치하니 블로그가 터져서 글을 볼 수 없게 됐다. 플러그인을 삭제하니 다시 정상으로 돌아왔다.
- Enlighter 도 사용해봤는데 코드가 이뻐지지 않았다…. 사용법을 다시 찾아보던지 다른 플러그인을 찾아봐야겠다.
728x90'TIL > 2021' 카테고리의 다른 글
200917 - TIL (1) 2020.09.18 200916 - TIL (1) 2020.09.17 200914 - TIL (0) 2020.09.15 200910 - TIL (0) 2020.09.15 200908 - TIL (0) 2020.09.15