[2.1 Swift 훑어보기 (1)]

알파관·2022년 9월 23일
0

iOS 앱 스쿨

목록 보기
2/2
post-thumbnail

2022.09.19

Swift 언어 공부의 첫 걸음을 뗐다.

전반적으로 무슨 내용을 배울지 학생들에게 알려주기 위해 강사님께서는 Swift 공식문서를 읽어보는 시간을 준비하셨다.
한글로 번역된 Swift 공식문서의 링크는 아래와 같다.

https://bbiguduk.gitbook.io/swift

여담이지만, 수업 중 iOS 앱 개발이 프론트엔드에 가깝다 볼 수 있다고 강사님께서 말씀해주셨다.

평소에 iOS 앱 개발에도 백엔드/프론트 엔드가 명확히 나누어져 있는지 궁금했는데, 강사님의 말씀을 들어보니 확실히 프론트엔드의 색채가 짙다는 것을 느낄 수 있었다
(앞으로 나는 앱 프론트개발 쪽으로 이해하면 되겠군,,,👀)


변수와 상수

스위프트 둘러보기 문서에서 가장 먼저 기술되어 있던 내용은 변수상수 에 관한 내용이었다.

import Foundation

let myConstant = 42
var myVariable = 50
myVariable = 51

📌 Point

  • 변수 선언은 var 키워드를 이용
  • 상수 선언은 let 키워드를 이용
  • 변수는 한 번 저장된 값이 언제든지 바뀔 수 있음
  • 상수는 한 번 저장된 값을, 선언부 이외의 줄에서 바꿀 수 없음

타입

변수와 상수에 관한 설명이 끝나고 다음 내용을 읽어보기 전에, 강사님께서 Swift 언어에서의 원시타입 종류들을 정리해주셨다.

원시타입 (Primitive Type)

숫자 : Int, Float, Double

불리언 : Bool

텍스트 : String, Character

컬렉션 : Array, Dictionary<K:Hashable, V>, Set<T:Hashalbe>

원시언어는 단어에서도 유추할 수 있듯이, Swift에서 기본이되는 타입이며 구조체이다.

- 숫자 타입

  • 정수 : Int, UInt(0~양수만 표현)

  • 부동 소수점 수

    • Float : 32비트
    • Double : 64비트
    • Float80 : 80비트
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70

- 불리언 타입

참/거짓을 처리하는 목적의 데이터 타입
true/false로 각각 참/거짓 지정이 가능하다

- 텍스트 타입

  • character : 단순한 유니코드 1글자

  • String : 문자열, 유니코드 문자 여러개가 합쳐진 형태(문자들의 집합)

    character, String 모두 큰따옴표("")를 사용한다는 특징이 있으며, 구성하는 문자들은 모두 유니코드 표에 근거한 문자들이어야 한다.

    여러줄의 문자열을 선언할 때는 """을 사용한다.

    추가로 아래 코드 중간에 \ (apple) 와 같은 출력 형식을 볼 수 있는데,
    우리는 이를 '문자열 보간법' 이라고 한다
    문자열 보간법 을 활용하면 소괄호 안의 변수나 상수를 손쉽게 문자열로 바꿀 수 있다

  let quotation = """
  I said "I have \(apple) apples."
  And then I said "I have \(apples + orange) pieces of fruit."
  """

- 컬렉션 타입

  • 배열
    순서가 있는 요소들의 모음
    Array로 타입 정의
    (T : 배열에 포함될 요소의 타입)


  • 딕셔너리
    순서가 없는 키-값 쌍의 모음
    값은 구조체, 클래스 포함 어떤 값이든 가능
    키도 어떤 타입이든 될 수 있지만, 고유해야 한다


  • 집합
    특정 타입의 요소들을 포함한다 (배열과 유사)
    순서를 갖지 않고, 값들은 고유해야 한다
  var arrayOfInts: Array<Int>
  var arrayOfInts: [Int]
  //배열의 선언법

  var dictionaryOfCapitalsByCountry: Dictionary<String, String>
  //딕셔너리 선언법
  var dictionaryOfCapitalsByCountry: [String : String]
  //키를 통해 값을 불러옴

  var winningLotteryNumbers: Set<Int>
  // 집합 선언법
  
  let emptyArray: [String] = []
  let emptyDictionary: [String: Float] = [:]
  //배열과 딕셔너리의 초기화 구문

서브스크립트

배열과 딕셔너리에 접근하는 단축법

대괄호 ([ ])를 사용하여 배열과 딕셔너리를 생성하고 대괄호 안에 인덱스 또는 키를 작성하여 해당 요소에 접근한다

let secondElement = countingUp[1]
//배열에 편리하게 접근할 수 있게 해주는 방법
  
var fruits: Array<String> = [
        "strawberries", 
        "limes", 
        "tangerines"
]
//문자열 타입의 리터럴이 콤마로 싸여서 대괄호에 나열되어 있으면 "문자열 배열"
  
fruits[1] = "grapes"
print("\(fruits)")
//["strawberries", "grapes", "tangerines"]
  
fruits.append("blueberries")
//배열에서 인덱스 추가하기 -> append 문법을 사용한다
  
var occupations: [String: String] = [
          "Malcolm": "Captain", //key : value
          "Kaylee": "Mechanic",
]
  
occupations["Jayne"] = "Public Relations"
//딕셔너리 선언 및 키:값 추가
  
occupations["Malcolm"] = "Public Relations"
//딕셔너리 키의 값 교체 -> 새로운 키:값 쌍이 생성되는 것 x, 변경 o
print("\(occupations)")
  
//["Kaylee": "Mechanic", "Jayne":"Public Relations", "Malcolm": "Public Relations"]

📌 Point

  • 배열은 인덱스를 이용해 값에 접근
  • 딕셔너리는 키 값을 이용해 값에 접근
  • append를 이용해 배열에 값 추가
  • 키 값을 활용해 딕셔너리로 값을 수정할 수 있다

Swift 언어를 배웠던 첫 시간이었는데, 되게 많은 내용들이 슉슉 지나가서 정신이 없었다

기존에 배웠던 프로그래밍언어와 견주어 보면 형식적 측면 말고는 대충 일맥상통하는 면이 꽤 있었다

부트캠프에 참여한 모든 인원들이 함께 이해할 수 있어야 하기에 강사님께서 되게 기초적인 내용도 깊게 파서 가르치셨고, 이런 점은 전공자인 나 입장에서도 모르고 지나쳤던 부분들을 바로잡을 수 있게 도와주어서 매우 유익하게 다가왔다.

다음 시간에도 파이팅🔥

profile
iOS🍎

0개의 댓글