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 함수이름() -> 반환타입 { //..
https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 각 자리수가 등차수열인 수의 갯수를 구하는 문제입니다. N의 범위가 1000이하이기에 한자리,두자리,세자리 수가 등차수열인지 체크해야합니다. (1000은 각 자리수가 등차수열이 아님) - 한자리, 두자리 수의 각 자리수는 항상 등차수열을 이룹니다. 따라서, N이 100 미만이라면 답은 N이 됩니다. - N이 100이상인 경우, '10의자리수 - 1의 자리수' 와 '100의자리수 - 10의자리수' 를 ..
- Total
- Today
- Yesterday
- C++
- rxswift
- Swift unowned
- 안드로이드
- 백준온라인저지
- disposeBag
- 프로그래머스
- 백준
- 알고리즘
- ios
- 코코아팟
- GraphDB
- Reactivex
- Lottie
- Swift weak
- rxswift6
- cocoapods
- DispatchQueue
- boj
- coreml
- infallible
- Swift
- SwiftUI
- UIHostingController
- Kotlin
- SWEA
- ARKit
- 카카오인턴십
- blendshape
- blendshapes
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |