본문 바로가기
728x90

스위프트5

[Swift] 옵셔널(Optional) 값이 있을 수도 있고, 없을 수도 있습니다. 😕 Xcode로 코드를 써 내려가다 보면 옵셔널이라는 단어를 자주 만나볼 수 있습니다. 대체 왜 이런 번거로운 기능을 만들었을까? 생각이 들 수도 있습니다. 그러나 값이 들어있을 거라 생각했던 것을 불러왔는데, 사실 값이 없으면 어떻게 될까요? 오류가 발생합니다. 옵셔널은 컴파일 오류와 런타임 오류를 최소화 하기위한 정말 중요한 장치입니다. 여기서 옵셔널을 알기 전에 컴파일 오류와 런타임 오류는 무엇인지 먼저 설명하겠습니다. 1. 컴파일 오류 Xcode에서 잘못된 코드, 컴퓨터가 읽을 수 없는 코드를 입력하면 발생하는 오류 컴파일*할 때 컴파일러*가 코드를 검사합니다. 구글에 자신이 만나게된 컴파일 오류를 그대로 검색하면, 많은 커뮤니티에서 같은 질문하는 사람.. 2022. 11. 16.
[Swift] 조건문(if-else, switch) 인생은 결정의 연속입니다. 조건에 따른 갈래가 프로세스에서는 완전히 다른 결과를 초래하기 때문에 정말 중요하다고 볼 수 있습니다. 조건에 충족하면 어떻게 되는지? 부합하지 않다면 어떻게 되는지? 조건을 통한 예외 처리 능력이 오류를 최소화하는 습관이지 않을까 하는 생각이 듭니다. 1. if-else "참이면 A 루트로 가고, 거짓이면 B 루트로 가라" 이런 것을 판단할 수 있게 해주는 구문이 바로 if-else입니다. if는 else if와 else를 함께 사용할 수 있습니다. if 조건문 { 실행 코드 } else if 조건문 { 실행 코드 } else { 실행 코드 } if의 옆에는 조건문이 들어오는데 이 값은 항상 true나 false로 나올 수 있도록 작성해야 합니다. if의 조건이 false이면.. 2022. 11. 15.
[Swift] 열거형(enum) 열거형(enumerated type, enumeration)은 멤버라 불리는 명명된 값의 집합을 이루는 자료형이다. swift에서는 이 열거형을 잘 사용하는 개발자가 실력이 있다는 말도 있다고 합니다. 😅 그 정도로 잘 사용하게되면 굉장히 좋다는 뜻이겠지요. 열거형 enum은 연관된 값을 멤버로 묶는 자료형 타입입니다. 1. enum 정의 메이플스토리의 대표 직업군 다섯가지를 Jobs라는 열거형 타입으로 나타내 보겠습니다. Jobs는 enum으로 정의한 타입이기 때문에 이름을 대문자로 시작해야 합니다. // case를 행마다 써주는 방법 enum Jobs { case warrior case magician case bowman case thief case pirate } // case를 옆으로 나열하는 .. 2022. 11. 13.
[Swift] 컬렉션 타입(Array, Dictionary, Set) 변수나 상수에는 꼭 값 하나씩만을 저장할 수 있나요? 아닙니다. swift의 컬렉션 타입(Array, Dictionary, Set)을 사용하면 값들의 배열을 컬렉션 타입에 저장할 수 있습니다. 🔸 Array 값을 담은 순서대로 index 번호가 붙는 배열입니다. 순서는 0부터 차례대로 붙습니다. Array에서 자주 사용하는 메서드 append(값) : 배열에 값을 추가합니다. contains(값) : 배열에 해당 요소가 있는지 찾는 메서드입니다. Bool 타입으로 반환합니다. remove(at: 인덱스) : 원하는 인덱스의 값을 배열에서 제거해줍니다. removeFirst(개수) : 맨 앞부터 인덱스를 원하는 개수에 따라 제거해줍니다. removeLast(개수) : 맨 뒤부터 인덱스를 원하는 개수에 따라.. 2022. 11. 9.
[Swift] 스위프트의 특징 🔸 스위프트의 특징 스위프트의 특징은 공식문서에서 크게 3가지로 소개합니다. 1. 안전 Safe 스위프트를 처음 접했을 때 강의 첫마디가 '스위프트는 type safe 언어' 였습니다. 확실히 Xcode를 사용하는 경우 값들 사이에 타입을 지키지 않는 경우 가차없이 컴파일 에러를 만날 수 있었습니다. 굉장히 엄격하다고 느낄 수 있지만 개발자의 오타 등 실수를 잘 잡아준다는 뜻이기도 합니다. 2. 신속 Fast 이것은 Xcode를 사용하다보면 정말 뼈저리게 느끼는 특징 중 하나입니다. 자동완성, 도움말 기능 등 정말 초보자에게는 친절한 언어라고 생각합니다. 또한 타입 세이프와 같이 이야기되는 내용이 `타입 추정`입니다. 일일이 타입을 지정하지 않아도 추정할 수 있는 내용은 알아서 추정하기 때문에 빠른 코드.. 2022. 11. 2.
728x90
반응형