ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 200909 - TIL
    TIL/2021 2020. 9. 15. 16:40

    thiago japyassu  님의 사진, 출처:  Pexels

    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
Designed by Tistory.