Swift에는 일종의 코드의 블럭인 '클로저'가 존재합니다. 클로저는 일급 시민이기 때문에 변수, 상수 등으로 저장할 수 있고 전달 인자로 전달이 가능합니다. 함수는 이름이 있는 클로저의 일종이라고 볼 수 있습니다. - 클로저는 매개변수와 반환값을 가질 수 있습니다. - in 이라는 키워드로 실행코드를 작성해줍니다. { (매개변수) -> 반환타입 in // 실행코드 } // sum이라는 상수에 클로저를 할당 let sum: (Int, Int) -> Int = { (a: Int, b: Int) in return a + b } let sumResult: Int = sum(1, 2) print(sumResult) // 3 출력 - 클로저는 함수의 전달인자로 사용할 수 있습니다. - 주로 함수의 실행이 완료된 ..
enum은 타입이므로 대문자 카멜케이스를 사용하여 정의합니다. Swift의 열거형은 각 case 자체가 고유의 값입니다. enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 // ,로 구분해 선언 가능 } // 열거형 생성 enum Weekday { case mon case tue case wed case thu,fri,sat,sun } // 열거형 사용 var day: Weekday = Weekday.mon // 타입이 명확하다면 .case 표현도 가능 day = .tue print(day) // tue 출력 - case 에 모든 값을 구현하면 , Default 를 구현하지 않아도 됩니다. -하나의 case 라도 구현하지 않으면 Default 를 포함해야합니다. // d..
1. 구조체 - 구조체는 값(Value)타입입니다. - Swift의 구조체는 타입을 정의하는 것이기 때문에 대문자 카멜케이스를 사용합니다. - struct 키워드를 사용해 정의 할 수 있습니다. struct 구조체이름 { //구조체 내용 } - 프로퍼티는 인스턴스 변수를 의미합니다. - 메서드는 구조체 안에 들어있는 함수를 의미합니다. - var로 선언하면 가변 프로퍼티입니다. - let로 선언하면 불변 프로퍼티 입니다. - static 키워드를 사용하면 타입 프로퍼티/메서드로 사용할 수 있습니다. struct Example { var mutableProperty: Int = 100 //가변 프로퍼티 (값 변경 가능) let immutableProperty: Int = 100 // 불변 프로퍼티 (값 변..
Swift에선 옵셔널이란 키워드를 사용합니다. 1. 옵셔널이란? - 값이 있을 수도, 없을 수도 있음을 표현합니다. - nil이 할당될 수 있는지 없는지를 나타냅니다. // someOptionalParm에 nil이 할당 될 수 있다. func someFunction(someOptionalParam: Int?) { // .... } /// someOptionalParm에 nil이 할당 될 수 없다. func someFunction(someOptionalParam: Int) { // .... } 2. 옵셔널을 쓰는 이유 1) 명시적 표현 - nil의 가능성을 코드만으로 표현이 가능합니다. - 위의 이유로 문서/주석 작성 시간을 절약할 수 있습니다. 2) 안전한 사용 - 전달받은 값이 옵셔널이 아니라면 nil..
Swift에서 반복문은 for-in / while / repeat-while 구문으로 구현할 수 있습니다. 1. for-in 구문 - 타 언어의 for-each 구문과 유사하게 사용할 수 있습니다. - Dictionary의 경우 iteration 아이템으로 튜플이 들어옵니다. // for-in 구문 기본 형태 for item in items { // 실행 코드 } var integers = [1, 2, 3] let people = ["KK": 10, "TT": 15, "OO": 12] for integer in integers { print(integer) } // Dictionary의 item은 key와 value로 구성된 튜플 타입 for (name, age) in people { print("\(n..
Swift의 조건문은 if-else 와 switch 를 이용해 구현할 수 있습니다. 1. if-else 구문 - if 단독으로 사용이 가능하고, else/ else if와 조합해서 사용할 수 있습니다. - if 뒤의 조건 값에는 Bool 타입의 값 (true / false) 만 위치해야 합니다. let someInteger = 100 if someInteger 100 { print("100 초과") } else { print("100") } // 100 출력됨 2.switch 구문 - Swift의 switch구문은 정수타입의 값만 비교하는 것이 아니라 대부분의 Swift 기본 타입을 지원하며 다양한 패턴과 응용이 가능합..
1. 함수 기본 - Swift의 함수는 매개변수와 반환값을 정해 선언할 수 있습니다. func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> 반환타입 { // 함수 내용 return 반환값 } - 반환값이 없는 함수를 선언할땐 반환타입에 Void를 추가/생략 할 수 있습니다. //반환값이 없는 함수 선언 func 함수이름(매개변수1이름: 매개변수1타입, 매개변수2이름: 매개변수2타입 ...) -> Void { // 함수 내용 return } //Void 생략 예시 func printName(name: String) { print(name) } - 매개변수가 없는 함수, 반환값과 매개변수가 없는 함수를 선언할 수 있습니다. func 함수이름() -> 반환타입 { //..
Swift는 세 가지 '컬렉션 타입'을 갖고 있습니다. 각각의 특징에 따라 필요한 기능에 사용하면 됩니다! 1. Array - 멤버가 순서(Index)를 가지는 리스트 형태의 컬렉션 타입입니다. - Index를 이용해 random access가 가능합니다. - let 을 사용해 선언한 불변 Array 는 수정이 불가능합니다. // Int 타입의 Array 선언 및 생성 var intArr: Array = Array() //위와 동일한 표현 var intArr: Array = [Int]() var intArr: Array = [] var intArr: [Int] = Array() var intArr: [Int] = [Int]() var intArr: [Int] = [] var intArr = [Int]()..
- Total
- Today
- Yesterday
- infallible
- Swift unowned
- blendshape
- 프로그래머스
- rxswift6
- disposeBag
- SWEA
- UIHostingController
- coreml
- Swift
- GraphDB
- 백준온라인저지
- Swift weak
- Lottie
- 카카오인턴십
- C++
- Reactivex
- SwiftUI
- blendshapes
- ios
- ARKit
- 코코아팟
- cocoapods
- 알고리즘
- boj
- 안드로이드
- 백준
- DispatchQueue
- Kotlin
- rxswift
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |