Swift/Swift-Basica 8

Swift (8) - 함수 및 클로저

Kotlin과 비교해 간단히 설명하겠습니다. Swift는 함수를 파라미터로 전달 할 수 있습니다. Kotlin fun someFunction(lambda: (param: Int) -> Int) { lambda(5) } someFunction { param -> param * 2 } Swift func someFunction(lambda: (param: Int) -> Int) { lambda(2) } someFunction({param in param * 2}) 참고 https://www.devkuma.com/docs/swift/%ED%95%A8%EC%88%98-%EB%A6%AC%ED%84%B0%EB%9F%B4-%EB%B0%8F-%ED%81%B4%EB%A1%9C%EC%A0%80/ Swift 입문 | 함수..

Swift/Swift-Basica 2022.08.20

Swift (7) - struct & enum

1. struct (구조체) 1) struct 정의 및 객체 생성 예시 /* struct 정의 */ struct SomeName { var property1: Property1 var property2: Property2 func method1() { } } /* 객체 생성 */ var instance1 = SomeName(property1 : someProperty1, property2 : someProperty2) 2) struct의 특징 상속되지 않는다. struct는 상속을 사용할 수가 없습니다. 생성자가 없다. struct 내부 프로퍼티들을 정의하면, 자동으로 해당 프로퍼티들을 모두 포함하는 생성자가 정의됩니다. 즉, 생성자에 대한 코드가 자동으로 생성되기에 init 정의가 없더라도 위 코드의..

Swift/Swift-Basica 2022.08.20

Swift (6) - Array & Dictionary

1. Array 1) 배열 정의 및 사용 var 변수: [타입] = [타입] () var 변수: [타입] = [타입](count : 갯수, repeatedValue: 초기값) var 변수: [타입] = [값1, 값2, ...] var 변수 = [값1, 값2, 값3, ...] /* 예시 [0, 0, 0, 0, 0] */ var numbers: [Int] = [Int](count: 5, repeatedValue: 0) var numbers: [Int] = [0, 0, 0, 0, 0] numbers[1] = 1 numbers[2] = 2 numbers[3] = 3 numbers[4] = 4 // [0, 1, 2, 3, 4] numbers[3] // 3 2) 배열 연산 배열 두개 합치기 var newArray ..

Swift/Swift-Basica 2022.08.20

Swift (5) - Class

1. 클래스 정의 Swift의 기본적인 클래스 정의는 다음과 같습니다. /* 클래스 정의 */ class 클래스이름 { /* 프로퍼티 정의 */ var property: PropertyType /* 생성자 정의 : 생성자가 있을 경우에는 반드시 생성자를 통해서 인스턴스가 생성됩니다. */ init(p: PropertyType) { self.property = p } /* 메서드 정의 */ func method(param: ParamType) -> MethodType { return "반환값" } } /* 인스턴스 생성 및 사용 */ var instance: 클래스이름 = 클래스이름(p : "초기프로퍼티 값") instance.property = "가변프로퍼티 변경값" instance.method(para..

Swift/Swift-Basica 2022.08.19

Swift (4) - 함수

1. 기본적인 함수 정의 및 호출 func 함수명(파라미터: 파라미터타입) -> 반환타입 { ... some code ... return 반환값 } /* 정의 예시 */ func addOne(num: Int) -> Int { return num + 1 } /* 호출 예시 */ var result: Int = addOne(10) 2. 외부명 및 내부명 Swift는 신기하게도 함수내부에서 사용하는 파라미터이름과 호출부에서 사용하는 파라미터이름을 구분할 수 있습니다. func 함수명(외부명 내부명: 타입) -> 반환타입 {} 그리고 아래와 같이 사용할 수 있습니다. /* 함수 정의 */ func greet(name n: String) -> String { return "Hello, \(n)!" } /* 함수 ..

Swift/Swift-Basica 2022.08.19

Swift (3) - 제어구문

1. if 조건문 if 조건문1 { // ... some code ... } else if 조건문2 { // ... another code ... } else if 조건문n { // ... other code ... } else { // ... other else ... } 2. switch 조건문 switch 체크값 { case 값1 : ... some code ... case 값2, 값3 : ... other codes ... default : ... other else ... } 특정 case에서 일치하면, 다음 case로 넘어가지 않고 switch 구문이 끝납니다. 3. for 반복문 ★ Swift의 range ★ a ... b : a이상 b이하 a ..< b : a이상 b미만 1) 기본 for문..

Swift/Swift-Basica 2022.08.19

Swift (2) - 값, 변수, 연산

1. 리터럴1) 숫자보통은 그냥 적으면 됩니다.1000.25자리수가 많아질 경우 4자리마다 _(언더스코어)를 표기할 수 있습니다.01_2345_67892 8 16진수는 각각 다음과 같이 작성합니다.// 2진수0b11011// 8진수0o7623// 16진수0x5f4b2) 문자열정수는 큰따옴표(")로 감쌉니다."Hello, World"문자열 안에 변수가 포함될 경우 \(변수)로 나타낼 수 있습니다."Hello, \(name)"3) 불리언소문자 true와 false로 나타냅니다.truefalse  2. 변수변수는 변환가능(mutable) 변수와 변환불가능(immutable) 변수로 선언할 수 있습니다.// mutable (변환가능 변수이기 대문에 나중에 초기화 가능)var variable: Int// immu..

Swift/Swift-Basica 2022.08.19

Swift (1) - Swift 사용 준비

1. Swift란? 2014년 6월에 개최된 애플 개발자 컨퍼런스에서 갑자기 발표된 완전히 새로운 프로그래밍 언어 기존 Apple사 애플리케이션 개발에는 Objective-C 라는 언어가 사용돼었습니다. 왜냐하면 아이폰이 있기 전 초창기 맥 OSX는 처음부터 Objective-C에 의한 프로그램 작성 및 실행을 위한 플랫폼으로서 만들어졌기 때문입니다. Objective-C는 C언어에 무언가를 결합시킨 객체지향언어인데, 다른방향의 객체지향 언어인 C++, Java, C# 등이 개발되고 주류를 이루며, Objective-C는 '보통 언어와는 다르고 배우기 어려운 언어'로 인식이 되어갔습니다. Swift는 이런 '어려운 Apple사 애플리케이션 개발 언어'를 대체하기 위해 등장한 언어입니다. 2. Swift ..

Swift/Swift-Basica 2022.08.19