일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Optional Chaining
- cancelAsyncWrite
- 독학
- 옵셔널 체이닝
- 기본문법
- 직장인인강
- Realm
- 패스트캠퍼스후기
- 패캠챌린지
- 문자열 보간법
- ios
- TableView
- RawValue
- 함수
- SeSAC
- Background
- userDefaults
- beginAsyncWrite
- 직장인자기계발
- 프로퍼티 관찰자
- Git
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- xcode
- swift
- 인스펙터
- 열거형
- enum
- Threading
- 패스트캠퍼스
- switch
- Today
- Total
목록직장인인강 (50)
아삭아삭 iOS 개발
열거형은 swift에서 강력한 기능 중 하나입니다. 오늘은 열거형의 정의와 활용법들에 대해 알아보겠습니다! ■ 열거형 연관성이 있는 값을 모아 놓은 것 → 관련 값의 그룹으로 타입을 정의하고, 코드에서는 타입-세이프 방법으로 값을 동작 enum 이라는 키워드 사용 → 내부에는 case 키워드를 이용해 연관항목 나열 가능 열거형을 만들게 되면 하나의 새로운 타입처럼 사용할 수 있음 → 열거형 이름 정의시 대문자 카멜케이스를 사용 열거형 내부 각각의 case 자체가 고유의 값임 → 열거형내 case 정의시 소문자 카멜케이스를 사용 기존 구현을 넘어 기능적 확장도 가능, 표준 기능을 제공하기 위해 프로토콜 준수 또한 가능 enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 … ..
오늘은 스위프트의 강력한 기능 중 하나인 확장(익스텐션, extension)에 대해 알아보겠습니다. 재정의를 하지 않고도 기존 타입에 새로운 기능을 추가할 수 있어 매우 유용한 기능인 확장의 특징과 추가 가능한 기능들은 아래와 같습니다. ■ 확장 (익스텐션, extensions) 기존의 클래스, 구조체, 열거형, 프로토콜 타입에 새로운 기능을 추가하는 기능 ※ 단, 기존에 존재하던 기능을 재정의(=오버라이드) 할 수는 없음 익스텐션 키워드를 사용하여 적용 타입만 알고도 그 타입의 기능 확장 가능 ※ 단, 기능을 추가하려는 타입의 구현된 소스 코드를 모르거나 알 수 없어도 가능 익스텐션은 구조체, 클래스, 프로토콜 등에 적용 가능 ※ 반면 클래스의 상속은 클래스 타입에서만 가능 외부에서 가져온 타입에 내가..
■ 프로토콜(protocol) - 특정 역할을 하기 위한 메서드, 프로퍼티, 이니셜라이저 등 기타 요구사항 등의 청사진을 정의 - 구조체, 클래스, 열거형은 프로토콜을 채택함으로써 특정 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현 가능 -> 이 때 프로토콜이 요구하는 사항(기능)을 모두 충족할 경우, 해당타입이 채택한 그 프로토콜을 모두 ‘준수한다(conform)’고 말할 수 있음 - 프로포콜은 기능을 정의하고 제시만 할 뿐, 자체적인 기능 구현은 불가 (실제적인 구현은 그 프로토콜을 준수하는 타입이 하게됨) protocol 프로토콜 이름 { // 정의부분 // } ■ 프로토콜 특징 - 여러개의 프로토콜을 동시에 채택도 가능 (참고) 클래스에서 상속과 프로토콜 채택을 모두 할 경우 ‘:’ 뒤에..
■ assert, precondition, guard 앱실행 중 생성되는 다양한 연산 결과값 확인 및 안전한 처리기능 수행 ■ assert 특정 조건을 체크하고, 조건이 성립되지 않으면 메세지를 출력하며 에러를 발생시키게 하는 함수 assert 함수는 디버깅 모드에서만 동작 ※ 단, 배포하는 애플리케이션에서는 동작하지 않음 assert 함수는 주로 디버깅 중 조건 검증을 위해 사용 → 유효하지 않는 조건이 발생하지 않도록 코드를 설계하기 위함 검증결과가 true이면 코드는 그대로 진행, false일 경우 코드 실행은 종료되고 앱은 종료 → 개발과정에서 실수와 잘못된 가정을 찾는데 도움이 되고 실행 문제를 감지하는데 도움이 됨 var height: Int = 0 // 검증 조건에 충족하므로 지나감 asse..