-
200908 - TILTIL/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에선 어떻게 메모리를 할당할까??
확인해보니 작던 크던 16Byte인 것을 보아하니 메모리에 만들고 주소를 보내는 거 같았다. 그래서 이름 말고 문자열을 직접 입력해 보자 해서 “Hello”를 입력했는데 똑같이 16Byte라고 나온다…. 어느 방식으로 저장하는 건지 더 궁금해졌다
두 번째는 부동소수점을 메모리에 저장하는 방식이다. 예전에 유튜브에서 본거 같은데 기억이 나지 않는다ㅠㅠ 나중에 기회가 되면 찾아볼 예정이다.
iOS
iOS에서는
- Project 생성 방법
- iOS10 버전을 지원하는 Project 생성법
- main.storyboard 다루는 법
- viewController.swift와 main.storyboard 연결하는 방법
- Connection Panel에서 Outlet과 Action 사용 구분법
을 배웠다.
그 외
블로그에 글을 올리려 하니 잘못된 정보를 올리면 안 될 거 같아 이것저것 찾아보다 쓸데없이 시간을 너무 많이 허비했다. 문법 하는데도 시간이 모자란데 글을 너무 확실하게 쓴다고 시간을 많이 투자하는 게 좋은 방법이 아닌 거 같다😂
차츰 여러 시도를 해보며 가장 좋은 방법을 찾아야겠다ㅠㅠ
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