과제2 정리-1

김서영·2023년 1월 25일
0

iOS정리

목록 보기
1/3

변수와 상수

swift에서는 변수를 var로 지정하며, var로 지정된 값은 변경할 수 있다.

let으로 지정된 것은 상수라 부르며, 변수와 달리 값을 변경할 수 없다.
반복적으로 사용되는 특정 값을 사용할 때 주로 사용하며, 애플은 상수를 사용하는 것을 권장한다.

데이터 타입의 종류

Int은 정수형 숫자를 넣기 위해 사용하는 데이터 타입이다.

Double은 실수형 숫자를 넣기 위해 사용하는 데이터 타입이다.

Character은 유니코드 문자 하나를 저장하기 위해 사용하는 데이터 타입으로, 초기값을 넣을 때는 큰 따옴표를 사용해야 한다.

String은 문자열 데이터 타입이다.

Bool은 0 또는 1의 조건을 처리하기 위한 데이터 타입으로, true와 false의 두 개의 불리언 상수가 있다.

데이터 타입은 직접 지정하는 방법과 타입추론을 하는 방법 2가지가 있다.

  • 타입추론은 변수 혹은 상수에 값이 들어갈 경우 값을 통해 변수나 상수의 데이터 타입을 지정한다.
    var Num : Int = 1 == var Num = 1

    이때 초기값이 있을 경우 swift가 타입추론을 하므로 데이터 타입을 지정하지 않아도 된다.(Int 생략 가능)

튜플

여러 값을 하나의 객체에 묶는 방법으로, 배열처럼 데이터 타입을 맞출 필요가 없다.
특정 튜플의 값을 찾기 위해서는 인덱스 위치를 참조하면 된다.

optional

optional은 값을 지정하지 않았을 때 주로 사용한다.
여러 optional을 선언하거나 언래핑할때는 콤마를 사용한다.
옵셔널 변수에 값이 있으면 래핑되었다고 하며, 래핑을 풀어주기 위해서는 강제 언래핑을 해야 한다.
옵셔널 선언은 변수 뒤에 ?나 !를 넣어 선언한다.

변수 뒤에 ?를 넣어 선언할 경우는 강제 언래핑 전까지는 옵셔널 변수가 되며, !를 넣어 선언할 경우 optional로 사용하지 않으면 언래핑이 된다.
ex.

var Num : Int? = 3
var Num2 : Int = Num!
print(Num) // Optional(3)
print(Num2) // 3

언래핑은 4가지 방법이 있다.

1.변수 뒤에 !을 넣어 강제 언래핑한다.
ex.

var Num : Int? = 1
print(Num!)
  1. optional binding을 사용해 강제 언래핑한다.
    ex.
    if var No = Num{
    }
  2. 실패 가능한 연산자
    let Num = m ?? ""
  3. Optional Chaining
    var Num2 = m?.account

단, 언래핑을 할 때 값에 nil이 있으면 안된다.

연산자

대부분 C언어와 비슷하나 Swift 3에서 ++연산자와 --연산자가 없어저 사용할 수 없다는 차이가 있다.

범위연산자는 다음과 같이 사용한다.

var Num = [1, 2, 3, 4, 5, 6, 7]
 for i in Num[2...5]
  {
  print(i)
  } // 3 4 5 6, 닫힌 범위 연산자
 for j in Num[ 1..<3 ]
  {
  print(j)
  } // 2 3, 반 열린 범위 연산자
 for k in Num[4...]
  {
  print(i)
  } // 5 6 7, 한 방향 범위 연산자
 for l in Num[...5]
  {
  print(i)
  } // 1 2 3 4 5 6, 한 방향 범위 연산자

Nil 합병연산자는 옵셔널 변수의 값이 nil일때 다른 값을 넣기 위해 사용한다.

var Ni = CreN ?? defN

변수 Ni의 값이 nil이 아닐 경우에는 CreN을 넣으며, nil일 경우에는 defN을 넣는다.

자식 클래스를 부모 클래스로 형 변환을 할 때는
자식클래스 as 부모클래스로 형변환한다.

제어문

for-in 반복문은 컬랙션이나 숫자 범위 내의 목록을 반복한다.
ex.

  var Num = [1, 2, 3, 4, 5, 6, 7]
   for i in Num[2...5]
    {
    print(i)
    } // 3 4 5 6

repeat while은 do while의 대체로 나온 반복문이다.

  repeat{
    }
    while 조건식{
    }

의 형태로 사용하며 적어도 한번은 실행된다.

반복문을 빠져나오기 위해서는 break를, 반복문의 처음으로 돌아가기 위해서는 continue를 사용한다.

if문은 다른 언어의 if문과 비슷하지만 swift에서 사용하는 경우 무조건 괄호를 붙여야 한다.

  if 조건식{ }

기본적으로 불리언 표현식이 true인 경우에만 괄호 내의 코드가 실행된다.

guard문은 if와 반대로 조건식이 거짓일 경우에 괄호 내의 코드가 실행하며, 조건에 맞지 않는 경우 바로 반복문을 빠져나가는 조기 출구 전략을 사용한다.
guard문에서 언래핑된 변수는 guard문밖에서도 사용할 수 있다.
guard문은 거짓일 때 수행할 else문을 반드시 포함한다.

switch case문은 case를 사용하면 case내의 코드가 무조건 있어야 하며, where로 조건을 붙일 수 있다.
switch case는 조건에 맞는 case를 만나면 자동으로 break를 하기 때문에 계속 내려가기 위해서는 fallthrough를 사용한다.


Smile Han의 Swift강좌를 참고해 작성한 글입니다.

0개의 댓글