Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- switch
- 옵셔널 체이닝
- SeSAC
- Git
- 기본문법
- ios
- 열거형
- 함수
- 패스트캠퍼스
- Realm
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- 직장인인강
- 직장인자기계발
- beginAsyncWrite
- 독학
- Optional Chaining
- 문자열 보간법
- cancelAsyncWrite
- userDefaults
- swift
- RawValue
- 패캠챌린지
- xcode
- Background
- Threading
- 패스트캠퍼스후기
- 인스펙터
- enum
- TableView
- 프로퍼티 관찰자
Archives
- Today
- Total
아삭아삭 iOS 개발
[Swift 독학] 패스트캠퍼스 챌린지 22일차_프로퍼티_연산, 타입 프로퍼티 본문
2) 연산 프로퍼티 (computed property)
- 특정 연산을 수행하는 결과값
- 특정 타입의 인스턴스와 연결
- 클래스/구조체/열거형에서 사용 가능
- 값을 직접적으로 저장하지 않음
→ 대신 get, set을 사용해서 다른 프로퍼티와 값을 간접적으로 조회하고 설정 가능 - 역할 2가지 수행
1) 인스턴스 내외부의 값을 연산해서 적절한 값을 돌려주는 접근자 역할
2)내부의 프로퍼티의 값을 간접적으로 설정하는 설정자 역할 - 연산 프로퍼티에서 set을 지우고 get만을 남겨서 읽기전용 연산 프로퍼티로 이용 가능
→ 단, 값 변경하여 설정 불가 (값을 반환하고 점 구문으로 접근만 가능) - set 사용시, 매개변수 이름을 별도로 지정하지 않으면 디폴트값인 ‘newValue’라는 이름으로 사용 가능
struct Coin {
var onePrice: Int
var theOtherPrice: Int
var gazaaaa: Int {
get {
return onePrice * theOtherPrice
}
set(newPrice) {
onePrice = newPrice / theOtherPrice
}
}
}
var coin = Coin(onePrice: 22860, theOtherPrice: 4520)
print(coin)
coin.gazaaaa
coin.gazaaaa = 51868000
coin.onePrice
3) 저장 프로퍼티 (type property)
- 특정 타입에서 사용되는 프로퍼티
- 인스턴스 생성 없이 객체 내의 프로퍼티에 접근을 가능하게 함
→프로퍼티 타입 자체와 연결하는 것 의미 - 코드와 같이 저장프로퍼티와 연산프로퍼티에서만 사용 가능
- static keyword를 사용하여 정의
- 인스턴스를 생성하지 않고도 타입 이름과 타입 프로퍼티 이름을 점으로 연결해주면 접근 및 값변경 가능
struct TheStructure {
static var storedTypeProperty = "Get Ugly by Jason Derulo" // 스토어
static var computedTypeProperty: Int { //컴퓨디드
return 3
}
}
TheStructure.storedTypeProperty // "Get Ugly by Jason Derulo"
TheStructure.computedTypeProperty // 3
TheStructure.storedTypeProperty = "wow"
TheStructure.storedTypeProperty // “wow”로 값변경 가능
TheStructure.computedTypeProperty = 99 // 99로 값변경 불가.에러남
다음시간에는 '프로퍼티 관찰자'와 '프로퍼티 래퍼'에 대해 알아보겠습니다~~
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'Swift' 카테고리의 다른 글
[Swift 독학] 패스트캠퍼스 챌린지 24일차_프로퍼티 래퍼 (0) | 2022.02.16 |
---|---|
[Swift 독학] 패스트캠퍼스 챌린지 23일차_프로퍼티 관찰자 (0) | 2022.02.15 |
[Swift 독학] 패스트캠퍼스 챌린지 21일차_프로퍼티_저장 프로퍼티 (0) | 2022.02.13 |
[Swift 독학] 패스트캠퍼스 챌린지 20일차_구조체와 클래스 비교 (0) | 2022.02.12 |
[Swift 독학] 패스트캠퍼스 챌린지 19일차_초기화 (0) | 2022.02.11 |