기술/iOS
-
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..
-
Swift 5.6 Strings and Characters기술/iOS 2022. 2. 25. 23:14
Strings and Characters Swift 의 String 과 Character 타입은 코드의 텍스트를 처리하는 빠른 유니코드 호환 방법을 제공합니다. 문자열 생성과 취급을 위한 구문은 C 와 유사한 문자열 구문과 같이 가볍고 읽기 쉽습니다. 문자여 연결은 두 문자열 사이에 + 연산자와 함께 결합하여 간단하게 연결 가능합니다. 또한 문자엷 ㅗ간이라는 프로세스에서 문자열을 사용하여 상수, 변수, 리터럴 및 표현식을 긴 문자열에 삽입할 수 있습니다. 간단한 구문임에도 Swift 의 String 타입은 빠르고, 최신 문자열 구문입니다. 모든 문자열은 인코딩에 독립적인 유니코드 문자로 구성되어 있으며 다양한 유니코드 표현의 문자에 접근할 수 있도록 지원합니다. String Literals 문자열 리터럴..