일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Background
- cancelAsyncWrite
- Git
- 함수
- 독학
- enum
- Threading
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- 기본문법
- 직장인자기계발
- 문자열 보간법
- SeSAC
- 옵셔널 체이닝
- beginAsyncWrite
- switch
- RawValue
- 패스트캠퍼스
- ios
- 패캠챌린지
- Optional Chaining
- 패스트캠퍼스후기
- 프로퍼티 관찰자
- swift
- userDefaults
- 인스펙터
- 열거형
- 직장인인강
- Realm
- TableView
- xcode
- Today
- Total
목록swift (24)
아삭아삭 iOS 개발
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/YVPQj/btrt42bmjYD/y2LdEsBxsOQP2pwIbZRti0/img.png)
열거형은 swift에서 강력한 기능 중 하나입니다. 오늘은 열거형의 정의와 활용법들에 대해 알아보겠습니다! ■ 열거형 연관성이 있는 값을 모아 놓은 것 → 관련 값의 그룹으로 타입을 정의하고, 코드에서는 타입-세이프 방법으로 값을 동작 enum 이라는 키워드 사용 → 내부에는 case 키워드를 이용해 연관항목 나열 가능 열거형을 만들게 되면 하나의 새로운 타입처럼 사용할 수 있음 → 열거형 이름 정의시 대문자 카멜케이스를 사용 열거형 내부 각각의 case 자체가 고유의 값임 → 열거형내 case 정의시 소문자 카멜케이스를 사용 기존 구현을 넘어 기능적 확장도 가능, 표준 기능을 제공하기 위해 프로토콜 준수 또한 가능 enum 이름 { case 이름1 case 이름2 case 이름3, 이름4, 이름5 … ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b0nQI2/btrtsT7qxKS/iPwEvO7skbLfLgeJu08YW0/img.png)
■ 프로퍼티 래퍼 (Property Wrappers) 프로퍼티 래퍼는 래핑된 값을 저장하는 역할 수행 → 쓰레드 안정성 검사할때 사용 → 기본 데이터를 데이터베이스에 저장하는 프로퍼티가 있는 경우 사용 프로퍼티 저장방법 관리코드와 프로퍼티 저장코드 사이에 추가 wrappedValue 프로퍼티를 정의하는 구조체/열거형/클래스 생성하여 정의 프로퍼티 래퍼 관리코드는 한 번 작성한 후, 여러 프로퍼티에 적용해서 재사용 가능 → 프로퍼티 래퍼를 사용하여 다른 여러 프로퍼티의 get구문과 set구문에서 코드를 재사용 가능 스위프트 문법 사이트[1]에 나온 예시를 응용하여 아래와 같이 HundredOrLess 프로퍼티 래퍼를 작성해보았다. 100세 시대니까 100세 이하까지는 stillyoung하다는 것으로 new..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/blfeMX/btrs715Rl67/kRceVPXnIb185Lfmq867uK/img.png)
이번 포스팅에서는 프로퍼티가 무엇인지에 대해 알아보고, 저장·연산·타입 프로퍼티 중에서도 저장 프로퍼티에 대해 예시를 통해 자세히 정리해보려고 합니다. ■ 프로퍼티 (property) 클래스, 구조체 또는 열거형 등에 관련된 값을 의미 → 클래스, 구조체, 열거형 내부에 구현 가능 타입과 관련된 값을 저장, 연산 가능 프로퍼티 종류 : 인스턴스 저장 프로퍼티 / 타입 저장 프로퍼티 / 인스턴스 연산 프로퍼티 / 타입 연산 프로퍼티 / 지연 저장 프로퍼티 열거형 내부에서는 연산 프로퍼티만 구현 가능 (연산 프로퍼티는 var로만 선언 가능) 1) 저장 프로퍼티 (stored property) 인스턴스의 변수(var) 또는 상수(let)(= 구조체 내에 선언된 변수나 상수) → 인스턴스에 프로퍼티의 값이 저장..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/CIKtF/btrs3TfIjLR/pKfkVmRwZJofBo5bHMtdd0/img.png)
■ 초기화 (Initialization) 클래스 구조체 또는 열거형의 인스턴스를 사용하기 위한 준비 과정 인스턴스의 프로퍼티마다 초기값을 설정해주기 위해 사용 새 인스턴스를 사용하기 전, 필요한 설정을 해주기 위해 사용 → 프로퍼티 기본값을 지정하기 어려운 경우, 초기화(initializer)를 통해 인스턴스가 가져야 할 초기값을 전달할 수 있음 init (매개변수: 타입, ...) { // 프로퍼티 초기화 // 인스턴스 생성시 필요한 설정을 해주는 코드 } ■ 생성자(이니시얼라이져) 인스턴스의 초기화를 담당하는 것 클래스나 구조체 열거형 안에 정의할 수 있음 매개변수로 전달받지 않고 생성자 안에서 프로퍼티에 값을 대입해 초기화도 가능 프로퍼티의 초기값이 필요 없을 경우, init 전 변수정의시 옵셔널을..