ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 200908 - TIL
    TIL/2021 2020. 9. 15. 16:28

    200907에 iOS와 Swift 문법 공부를 시작했습니다!!! 만… 0907에 작성을 깜빡해서 0908부터 작성하게 됐습니다😅

     

     

     

     

    Swift 문법

     

    swift 문법의 구성요소들에 대해서 공부했다.

    • Token
    • Expression
    • Statement
    • Literal
    • Identifier
    • Keyword

    헷갈리는 부분은

    func sumInt(_ a: Int,_ b: Int) -> Int {
        return a + b
    }
    
    sumInt(10, 15)

    여기서 sumInt는 함수 호출식인데 25라는 값을 내는 것을 보니 표현식이라고 할 수 있지 않을까?? 그런데

    print("Hello World")

    도 마찬가지로 함수 호출식인데 반환하는 값은 없고 로그만 출력을 하게 되는 건데 표현식인지 아닌지 헷갈린다..

    - 200915 추가 : print함수와 같이 반환 값이 없는 경우는 호출 식이나 명령문이라고 한다. 이때 '값을 리턴하지 않는다는 Void를 리턴한다.'로 볼 수 있고 마찬가지로 표현식이다.[각주:1]

     

     

     

     

     

     

     

    cs50 강의에서 Compile이란 무엇인지에 대해서 공부했다..

    • Preprocess
    • Compile
    • Assemble
    • Link

    C언어에선 전처리과정에서

    #include<stdio.h>

    를 처리하는 것은 알았는데 Swift에선 전처리과정이 있는지 모르겠다.

    import Foundation

    혹시 이과정이 전처리 과정일까 생각해봤는데 아직 모듈을 배우지 않아서 정확하게 답을 못 냈다

     

     

     

     

     

     

     

    . 특수문자들에 대해서 공부했다.

    • {}
    • <>
    • []
    • ~
    • !
    • @
    • &
    • ()
    • \
    • *

    여러 가지가 있었고 영어단어도 새롭게 알게 됐다. 기억해야 할 것은 brace!!

     

     

     

     

     

    First Class Citizen에 대해서 알아보았고

    변수와 상수를 선언하는 방법 그리고 Scope에 대해서 공부했다.

    여기서 문제가 발생했는데… {}로 스코프를 구분하는데

    예제를 만드는데 if 문으로 구분한 {}와 func으로 구분한 {}에 차이점이 생겼다.

    글로벌 스코프에서 맨 아래에 c를 선언하고 중간에 하위 스코프인 if문과 func에서 c로 접근하였는데 if에서는 접근이 안되고 func에서는 접근이 됐다….

    200915 추가: 스코프 접근 문제는 플레이그라운드여서 발생하는 문제였다. 해당 문제를 프로젝트에서 구현하면 if func 둘 다 접근이 가능했다.[각주:2]

     

     

    Data Type에 대해서 공부했다.

    • Int, UInt
    • Double, Float
    • String
    • Character
    • Bool
    • Type Inference
    • Type Annotation
    • Type Alias
    • Type Conversion vs Type Casting

    두 가지 궁금한 점이 생겼다.

    첫 번째는 C언어에선 문자열의 크기는 종단 문자 \0까지 합해서 문자의 수 + 1 Byte만큼 생기는데 Swift에선 어떻게 메모리를 할당할까??

     

     

    Swift의 문자열 메모리 처리방식??

    확인해보니 작던 크던 16Byte인 것을 보아하니 메모리에 만들고 주소를 보내는 거 같았다. 그래서 이름 말고 문자열을 직접 입력해 보자 해서 “Hello”를 입력했는데 똑같이 16Byte라고 나온다…. 어느 방식으로 저장하는 건지 더 궁금해졌다

    두 번째는 부동소수점을 메모리에 저장하는 방식이다. 예전에 유튜브에서 본거 같은데 기억이 나지 않는다ㅠㅠ 나중에 기회가 되면 찾아볼 예정이다.

     

     

     

     

     

    iOS

    iOS에서는

    • Project 생성 방법
    • iOS10 버전을 지원하는 Project 생성법
    • main.storyboard 다루는 법
    • viewController.swift와 main.storyboard 연결하는 방법
    • Connection Panel에서 Outlet과 Action 사용 구분법

    을 배웠다.

     

     

     

     

     

     

     

    그 외

     

    블로그에 글을 올리려 하니 잘못된 정보를 올리면 안 될 거 같아 이것저것 찾아보다 쓸데없이 시간을 너무 많이 허비했다. 문법 하는데도 시간이 모자란데 글을 너무 확실하게 쓴다고 시간을 많이 투자하는 게 좋은 방법이 아닌 거 같다😂

    차츰 여러 시도를 해보며 가장 좋은 방법을 찾아야겠다ㅠㅠ

    1. 200915 추가 [본문으로]
    2. 200915추가 [본문으로]
    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
    200909 - TIL  (0) 2020.09.15
Designed by Tistory.