본문 바로가기

분류 전체보기

(57)
Function 정리 Fuction 이란? 독립적으로 처리가 가능한 부분을 분리하여 정해진 처리 과정에 따라 출력 값을 반환하는 과정을 말합니다. 1-1. 함수의 기본형태 func 함수이름 (매개변수1:타입, 매개변수2:타입) -> 반환 타입 { 실행내용 return 반환값 } 함수의 이름을 만들고 매개변수 이름을 만들며 매개변수의 타입을 정합니다. 매개변수는 영어로 parameter라고 부르며 함수를 호출할 때 전달되는 값을 전달하는 이름과 타입을 정의합니다. 그다음 반환 타입을 작성합니다. 반환 타입은 함수로 인해 생성된 값의 타입을 지칭하는 것으로 한번 지칭된 타입은 해당 타입의 값만 반환할 수 있습니다. // 매개변수와 반환값이 모두 없는 함수 func sayHello () { print("hello") } // 매개..
Collection Types 정리 1-1. 배열의 선언과 초기화 같은 타입의 여러 개의 값을 순서대로 저장한 리스트로 각 배열의 아이템에는 순서가 있고 순서는 인덱스라고 부릅니다. 0부터 시작하고 아이템이 추가되면 차례대로 증가합니다. var noun : [String] = ["hat", "pencil", "keyboard"] // 위아래는 같은 결과를 같습니다. var noun = ["hat", "pencil", "keyboard"] // 타입추론에 의해 문자열을가지는 배열이 됩니다. noun [0] // "hat" noun [1] // "pencil" noun [2] // "keyboard" // 인덱스를 이용해 배열 안의 값을 불러올 수 있습니다. 위와 같이 배열 안에 직접 값을 넣어 배열을 사용하는 경우도 있지만 아래와 같이 빈 ..
Optional 정리 옵셔널이란? 프로그램의 안정성을 위해 만들어진 개념으로 값이 있거나 혹은 없을 경우를 위해 사용됩니다. var optional : Int? var optional : Int? = 43 var optional : Int? = nil var optional = nil // Error 옵셔널은 값이 있거나 혹은 값이 없음을 나타내는 nil과 함께 사용이 가능합니다. nil 값은 반드시 옵셔널에서만 넣을 수 있는 값입니다. 43이라는 값이 들어가 있지만 나중에 nil값이 될 가능성이 존재한다는 의미이고 아무 값도 존재하지 않는다는 nil 값이 지금 들어가 있지만 나중에 어떤 값이 들어갈 수도 있다는 의미입니다. 마지막과 같이 옵셔널을 선언하지 않은 변수에 nil 값을 넣을 경우 에러가 발생됩니다. let num..
Swift 공식문서 해설 Collection Types - Dictionaries (4-3) Dictionaries 딕셔너리는 같은 타입의 키와 같은 타입의 값을 정의된 연관성을 순서 없이 항목에 저장합니다. 각 값은 고유의 키와 관련되어있으며 딕셔너리 내에서 값에 대해 식별자로서의 역할을 합니다. 배열 내의 아이템들과 다르게 딕셔너리는 정해진 순서가없습니다. 현실에서의 사전과 같이 특정한 단어의 정의를 찾아보는 것과 마찬가지로 값에 대한 식별자에 기초해 필요로 하는 값을 찾습니다. NOTE 스위프트의 딕셔너리타입은 Foundation’s NSDictionary class와연관이있습니다. 딕셔너리와 Foundation and Cocoa에 대한 자세한 정보가 알고 싶다면 Bridging Between Dictionary and NSDictionary를 참조하세요. Dictionary Type Sh..
Swift 공식문서 해설 Collection Types - Sets, Performing Set Operations (4-2) Sets Set은 순서없이 같은 타입의 값을 저장합니다. 아이템의 순서가 중요하지 않거나 아이템이 오직 한번만 나타날 때 배열을 대신해서 set을 활용합니다. NOTE 스위프트의 set타입은 Foundation’s의 NSSet class와 연결되어있습니다. Foundation 과 Cocoa와 함께set을 사용하는 방법에 대해 알고 싶다면 Bridging Between Set and NSSet를 확인하세요. Hash Values for Set Types set에 저장되어지기 위해서는 타입은 반드시 hashable이어야 합니다. 즉 타입은 반드시 스스로 hash값을 계산할 수 있는 방법을 제공 해야합니다. hash값은 정수형값으로 만약 a == b 라면 a.hashValue == b.hashValue와 같이..
Swift 공식문서 해설 Collection Types - Mutability of Collections, Arrays (4-1) 집단 자료형 (Collection Types) 스위프트는 집단 자료형을 저장하기 위해 잘 알려진 arrays, sets, dictionaries 3가지 주요한 collection types을 제공합니다. 배열은 순서대로 값을 모았습니다. 집합은 순서 없는 고유 값의 모음입니다. 딕셔너리는 순서 없이 키 값의 연관성의 모음입니다. 스위프트에서 배열, 집합, 딕셔너리는 저장할 수 있는 값과 키의 타입에 대해 항상 명확하게 합니다. 이 말인즉슨 실수로 로 잘못된 타입의 자료형에 값을 넣을 수 없습니다. 또한 집단으로부터 되찾아올 값이 어떤 자료형인지에 대해 자신감이 있을 수 있습니다. NOTE 스위프트의 배열, 집합, 딕셔너리 자료형은 generic collections으로 실행됩니다. generic type..
Swift 공식문서 해설 Control Flow - Control Transfer Statements (5-3) 제어 전달문 (Control Transfer Statements) 제어 전달문은 어떠한 코드에서 다른 코드로 이동함으로써 실행되어야 할 코드의 순서를 바꿉니다. continue break fallthrough return throw continue, break, fallthrough 구문은 아래에 자세히 다루고 있습니다. return 구문은 Functuions에서 자세히 다루고 throw는 Propagating Errors Using Throwing Functions에서 자세히 다룹니다. Continue continue 문장은 하고 있던 것을 멈추고 루프를 통해 다음 반복을 처음부터 다시 시작하도록 지시합니다. 완전히 루프를 떠나지 않고 현재의 루프 반복을 끝내었다는 말입니다. 다음 예제는 암호 퍼즐 문..
Swift 공식문서 해설 The Basics - Type Aliases, Booleans, Tuples (1-8) 타입 알리아스 (Type Aliases) 타입 알리아스는 존재하는 타입을 대체하는 이름을 대체 가능한 이름으로 정의합니다. typealias라는 키워드로 타입을 정의합니다. 타입 알리아스는 외부 소스로부터 특정 크기의 작업을 할 때와 같이 존재하는 타입을 문맥적으로 더 적합한 이름으로서 알아내기 원할 때 유용합니다. typealias AudioSample = UInt16 타입 알리아스를 한 번 정의하면 알리아스를 사용하여 어디에서나 원래의 이름을 사용할 수 있습니다. var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound is now 0 여기에서 AudioSample은 알리아스로 UInt16으로 정의됐습니다. 알리아스 때문에 AudioSample.mi..