일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- robotframework
- 스위프트
- 다트기초문법
- 테스트오토메이션
- 로봇프레임워크
- testautomation
- 테스트자동화
- 다트언어
- 파이썬자동화
- Flutter
- 오블완
- QA자동화
- iOS프로그래밍
- Swift5
- dartlang
- 테킷앱스쿨
- ios개발
- 티스토리챌린지
- 플러터
- 야곰스위프트
- SWIFT
- playwright
- DART
- 다트
- qaautomation
- pythonautomation
- Python
- 스위프트프로그래밍
- 스위프트개발
- 다트기본문법
- Today
- Total
목록스위프트개발 (6)
day_by_day
매개변수로 함수를 갖는 함수를 고차함수라 하며, 대표적인 고차함수로는 맵, 필터, 리듀스 등이 있다. 15.1 맵 자신을 호출할 때 매개변수로 전달된 함수를 실행하여 그 결과를 다시 반환해주는 함수 맵은 시퀀스, 컬렉션 프로토콜을 따르는 타입과 옵셔널은 모두 맵을 사용할 수 있다 맵은 기존 데이터를 변형할 때 많이 사용 컨테이너가 담고 있던 각가의 값을 매개변수를 통해 받은 함수에 적용한 후 다시 컨테이너에 포장하여 반환 기존 컨테이너의 값은 변경되지 않고 새로운 컨테이너가 생성되어 반환됨 사용방법은 for-in과 유사하나 코드의 재사용성이나 컴파일러 최적화 측면에서 성능차이가 있음 같은 기능을 여러번 사용할 것이라면 하나의 클로저를 여러 map 메서드에 사용하는 편이 좋다 let even: [Int] ..
옵셔널 체이닝과 옵셔널 바인딩의 차이 Swift에서 옵셔널 체이닝과 옵셔널 바인딩은 모두 옵셔널을 처리하는 데 사용되는 방법이다. 옵셔널 체이닝은 옵셔널 값의 속성이나 메서드에 액세스하는 데 사용되는 반면, 옵셔널 바인딩은 옵셔널 값이 nil이 아닌지 확인하고 값이 nil이 아니라면 값을 변수에 할당하는 데 사용됩니다. 14.1 옵셔널 체이닝 옵셔널에 속해 있는 nil 일지도 모르는 프로퍼티, 메서드, 서브스크립션 등을 가져오거나 호출할 때 사용할 수 있는 일련의 과정 옵셔널을 반복 사용하여 옵셔널이 자전거 체인처럼 서로 꼬리를 물고 있는 모양이기 때문에 옵셔널 체이닝이라고 부른다 옵셔널에 값이 있다면 프로퍼티, 메서드 등 호출 가능 옵셔널이 nil 이라면 nil 반환 중첩된 옵셔널 중 하나라도 값이 존..
함수는 클로저의 한 형태 클로저는 변수나 상수가 선언된 위치에서 참조를 획득하고 저장할 수 있다 → 이를 변수나 상수의 클로징이라고하며 클로저는 여기서 착안된 이름 클로저의 형태 3가지 이름이 있으면서 어떤 값도 획득하지 않는 전역 함수의 형태 이름이 있으면서 다른 함수 내부의 값을 획득할 수 잇는 중첩된 함수의 형태 이름이 없고 주변 문맥에 따라 값을 획득할 수 있는 축약 문법으로 작성한 형태 클로저를 통해 통해 표현할 수 있는 형태 매개변수와 반환 값의 타입을 문맥을 통해 유추할 수 있다 → 매개변수의 반환 값의 타입을 생략할 수 있다 단 한줄의 표현만 들어있다면 암시적으로 이를 반환 값으로 취급 축약된 전달인자 이름을 사용할 수 있음 후행 클로저 문법을 사용할 수 있음 클로저 표현 방법 : 클로저가..
11.1 인스턴스 생성 스위프트의 이니셜라이저는 직접 구현할 수 있으며 반환값이 없음 이니셜라이저는 func 키워드를 사용하지 않고 init 키워드를 사용하여 이니셜라이저 메서드임을 표현 11.1.1 프로퍼티 기본값 구조체와 클래스의 인스턴스는 처음 생성할 때 옵셔널 저장 프로퍼티를 제외한 모든 저장 프로퍼티에 적절한 초기 값을 할당해야 함 이니셜라이저가 실행될 때 저장 프로퍼티에 값을 할당할 수 있음 이니셜라이저를 통해 초기값을 할당하거나 프로퍼티 기본값을 통해 처음 저장 프로퍼티가 초기화 될 때는 프로퍼티 감시자 메서드가 호출되지 않음 11.1.2 이니셜라이저 매개변수 이니셜라이저도 매개변수를 가질 수 있음 여러 종류의 이니셜라이저를 만들 수 있음 struct Area { var squareMeter..
10.1 프로퍼티 프로퍼티는 저장프로퍼티(stored properties), 연산 프로퍼티(computed properties), 타입프로퍼티(type properties)로 나뉜다 저장프로퍼티 : 인스턴스의 변수 또는 상수 클래스, 구조체에만 쓰일 수 있음 연산프로퍼티: 특정 연산을 실행한 결과값 클래스, 구조체, 열거형에 쓰일 수 있음 타입프로퍼티: 타입의 인스턴스가 아니라 특정 타입에 사용되는 프로퍼티 저장 프로퍼티와 연산프로퍼티는 특정 타입의 인스턴스에 사용되는 것 기존 프로그래밍 언어에서 사용되던 인스턴스 변수 → 저장 프로퍼티, 클래스 변수 → 타입 프로퍼티 프로퍼티 감시자(property observers) 프로퍼티 값이 변할 때 값의 변화에 따른 특정 작업을 실행 저장 프로퍼티에 적용할 수..
스위프트의 특징 중 안정성을 보장해주는 기능 변수나 상수 등에 꼭 값이 있다는 것을 보장할 수 없다. 해당 값이 nil 일 수도 있다. 옵셔널이란? 값이 있을수도 있고 없을수도 있다. 8.1 옵셔널의 사용 옵셔널을 읽을 때 : 해당 변수 또는 상수에는 값이 없을 수 있다. 즉, 변수 또는 상수가 nil일 수도 있으므로 사용에 주의하라. var name: String = "blair" name = nil / 오류 표현 var name: String? = "blair" print(name) name = nil print(name) // nil name = "blair" print(name) print(name ?? "none") //Optional("blair") //blair 옵셔널 열거형의 정의 publ..