전체 글
-
Swift 5.6 Methods기술/iOS 2022. 3. 20. 17:46
Methods Instane Methods 인스턴스 메서드는 특정 클래스, 구조체, 열거형의 인스턴스에 속하는 함수입니다. 인스턴스 프로퍼티에 접근하고 수정하는 방법을 제공하거나 인스턴스의 목적과 관련된 기능을 제공합니다. The self Property 타입의 모든 인스턴스는 인스턴스 자체와 정확히 일치하는 self 라는 암시적 프로퍼티를 가지고 있습니다. 자체 인스턴스 메서드 내에서 현재 인스턴스를 참조하기 위해 self 프로퍼티를 사용합니다. 실제로 코드에서 self 를 꼭 작성할 필요는 없습니다. self 를 명시적으로 작성하지 않으면 Swift 는 메서드 내에서 이미 알고 있는 프로퍼티 또는 메서드 이름을 사용할 때마다 현재 인스턴스의 프로퍼티 또는 메서드를 참조한다고 가정합니다. 이 규칙의 주..
-
Swift 5.6 Properties기술/iOS 2022. 3. 20. 17:45
Properties Stored Properties 가장 간단한 형식으로 저장된 프로퍼티는 특정 클래스 또는 구조체의 인스턴스 부분으로 저장된 상수 또는 변수입니다. 기본 값을 제공 가능합니다. Stored Properties of Constant Structure Instances 구조체의 인스턴스를 생성하고 상수로 할당하면 프로퍼티 변수로 선언되어있어도 인스턴스의 프로퍼티를 수정할 수 없습니다. 이는 클래스의 동작과는 다릅니다. Lazy Stored Properties 지연 저장된 프로퍼티는 처음 사용될때까지 초기 값은 계산되지 않는 프로퍼티 입니다. lazy 수정자를 붙여 나타냅니다. NOTE 인스턴스 초기화가 완료된 후에도 초기 값이 없을 수 있으므로 지연 프로퍼티는 var 키웓를 사용하여 변수로..
-
Swift 5.6 Structures and Classes기술/iOS 2022. 3. 20. 17:44
Structures and Classes 다른 프로그래밍 언어와 달리 Swift 는 사용자 정의 구조체와 클래스에 대해 별도의 인터페이스와 구현 파일을 만들 필요가 없습니다. Swift 에서 단일 파일로 구조체 또는 클래스를 정의하면 해당 클래스 또는 구조체에 대한 외부 인터페이스가 자동으로 다른 코드에서 사용할 수 있습니다. Comparing Structures and Classes Swift 에서 구조체와 클래스는 공통점이 많습니다. 둘다 아래의 내용이 가능합니다. 값을 저장하는 프로퍼티 정의 기능 제공을 위한 메서드 정의 서브 스크립트 구문을 사용하여 값에 접근을 제공하는 서브스크립트 정의 초기화 상태를 설정하기 위한 초기화 정의 기본 구현을 넘어 기능적 확장을 위한 확장 특정 표준 기능을 제공하는..
-
Swift 5.6 Enumerations기술/iOS 2022. 3. 20. 17:44
Enumerations Enumeration Syntax enum CompassPoint { case north case south case east case west } 열거형 안에 정의된 값은 열거형 케이스 입니다. 새로운 열거형 케이스를 나타내기 위해 case 를 사용합니다. 여러개의 케이스는 콤마로 구분하여 한 줄로 표기할 수 있습니다. 각 열거형 정의는 새로운 타입으로 정의합니다. Swift 의 다른 타입처럼 대문자로 시작하는 그들의 이름이 ( CompassPoint ) 타입입니다. 열거형 타입에 복수 이름이 아닌 단수 이름으로 지정하여 읽기 쉽습니다. Matching Enumeration Values with Switch Statement switch 구문으로 각각의 열거형 값을 일치시킬수 있..
-
Swift 5.6 Closures기술/iOS 2022. 3. 20. 17:43
Closures 클로저는 정의된 컨텍스트에서 모든 상수와 변수에 대한 참조를 캡처하고 저장할 수 있습니다. 이러한 상수와 변수를 폐쇠라고 합니다. 함수에서 소개한 전역과 중첩함수는 클로저의 특별한 케이스입니다. 클로저는 3가지 형태 중 하나를 취합니다. 전역함수는 이름을 가지고 어떠한 값도 캡처하지 않는 클로저입니다. 중첩함수는 이름을 가지고 둘러싼 함수로부터 값을 캡처할 수 있는 클로저입니다. 클로저 표현식은 주변 컨텍스트에서 값을 캡처할 수 있는 경량 구문으로 작성된 이름 없는 클로저입니다. Swift 에서 클로저 표현식은 일반 시나리오에서 간단하고 깔끔한 구문을 장려하는 최적화를 통해 깔끔하고 명료한 스타일을 가지고 있습니다. 컨텍스트에서 파라미터와 반환값 유추 단일 표현식 클로저 암시적 반환 약식..
-
Swift 5.6 Functions기술/iOS 2022. 3. 20. 17:41
Functions Defining and Calling Functions Functions with Multiple Return Values 여러 개의 값을 반환하기 위해 함수의 반환 타입으로 튜플 타입을 사용할 수 있습니다. func minMax(array: [Int]) -> (min: Int, max: Int) { var currentMin = array[0] var currentMax = array[0] for value in array[1.. currentMax { currentMax = value } } return (currentMin, currentMax) } 함수의 반환 값을 조회할 때 이름으로 접근할 수 있도록 min, max 로 라벨되어 있습니다. let bounds = minMax(a..
-
Swift 5.6 Control Flow기술/iOS 2022. 2. 26. 16:15
Control Flow For-In Loops 배열에 아이템, 범위의 숫자, 또는 문자열에 문자 같은 연속된 것에 대해 for-in 루프를 사용하여 반복할 수 있습니다. 시퀀스로부터 각 값이 필요하지 않으면 변수 이름 위치에 언더바를 사용하여 값을 무시할 수 있습니다. let base = 3 let power = 10 var answer = 1 for _ in 1...power { answer *= base } print("\\(base) to the power of \\(power) is \\(answer)") // Prints "3 to the power of 10 is 59049" While Loop while 루프는 조건이 false 가 될때까지 구문의 집합을 수행합니다. 이러한 루프는 첫번째 반..
-
Swift 5.6 Arrays기술/iOS 2022. 2. 26. 15:52
배열은 순서대로 같은 타입의 값을 저장합니다. 같은 값은 배열에 다른 순서로 존재할 수 있습니다. Array Type Shorthand Syntax Swift 배열의 타입은 Element 를 저장할 배열 값의 타입을 나타내는 Array 로 작성합니다. 또한 짧게 [Element] 로 나타낼 수 있습니다. 두 형식이 기능적으로 동일하지만 짧은 표현이 선호됩니다. Creating an Empty Array var someInts: [Int] = [] print("someInts is of type [Int] with \(someInts.count) items.") // Prints "someInts is of type [Int] with 0 items." Creating an Array with a Defa..