Swift 둘러보기(5)

EN·2022년 9월 25일

Open Source

  • 오픈 소스 소프트웨어가 반드시 무료로 제공되는 실행 가능한 소프트웨어라는 의미는 아님.
  • 그러나 소스코드는 무료이다.

Free Software

  • 리차드 스탈만이라는 분이 시작.
  • 소스코드를 변경하고 변경한 소프트웨어를 공유하려면 원래 프로젝트에 해당 변경 사항을 다시 공유해야만 한다.
  • 프리 소프트웨어를 주장.

반복 제어 흐름

  • For-in 반복문
  • while반복문
  • Repeat-while
  • do-while문을 대체한것이다.

조건부 흐름 제어

  • if구문 안의 실행될 코드가 한 줄이라고 해도, 괄호{}가 필수다.
  • guard구문
    • 사이트 가입할 때, 이름 몇글자 이상 쓰거나, 암호, 암호확인 ,전화번호 이런거 쭉 있는거 보면, 데이터들을 갖고 일처리를 함. 이때 여러가지 조건들이 맞는지?
    • 애플에서 이런 걸 보고, if문만 쓰면 너무 복잡하니까, 좀 깔끔하게 만들자!
    • guard구문은 불리언 표현식을 포함하며, true일 때만 guard구문 바깥에 위치한 코드가 실행된다.
    • guard구문은 불리언 표현식이 false일 때 수행될 else절을 반드시 포함해야 한다.
    • 기본적으로 guard구문은 특정 조건을 만족하지 않은 경우에 현재의 함수 또는 반복문에서 빠져나올 수 있게 해준다

스위치 구문

  • Switch 구문의 표현식은 값을 가지거나 값을 반환하는 표현식이다. 이 값은 switch구문이 동작하게 하는 값이다.
  • 그 값과 일치할 수 있는 값을 case 구문으로 제공한다. 각각의 일치하는 값은 표현식의 값과 동일한 타입이어야 한다.
  • Default 절을 switch의 case에 해당하는 부분이 없을 때 수행하는 부분이다.
  • Switch 옆에는 “표현식”이 들어간다.
  • Case 구문에 범위 매칭을 구현할 수도 있다.
  • Switch-where 구문 사용하기
    • where구문은 case구문에 부가적인 조건을 추가하기 위해서 사용될 수 있다.
  • Switch-fallthrought구문 사용하기
    • 다른 언어들은 case마다 break를 안쓰면, 다른 case도 조사하게 된다.
    • 근데 swift는 반대이다. fallthrought를 써야 밑에도 조사하게 된다.
profile
iOS/JUJITSU

0개의 댓글