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 |
Tags
- Human interface guide
- 클린 코드
- collectionview
- rxswift
- map
- 리펙터링
- ios
- uitableview
- tableView
- swift documentation
- Clean Code
- 애니메이션
- MVVM
- SWIFT
- uiscrollview
- Protocol
- 스위프트
- Refactoring
- 리펙토링
- Xcode
- UICollectionView
- RxCocoa
- UITextView
- Observable
- combine
- ribs
- 리팩토링
- HIG
- clean architecture
- swiftUI
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Property 각 목적에 맞는 사용 방법 (getter, setter, public private(set)) 본문
iOS 응용 (swift)
[iOS - swift] Property 각 목적에 맞는 사용 방법 (getter, setter, public private(set))
jake-kim 2021. 6. 18. 00:32모듈 구현 시 응집도를 높이기 위한 방법
- 외부에서 읽기만 가능하고 변경은 내부에서만 가능한 property 설정
- public private(set) 사용 -> swift에서 get메서드가 필요없는 이유
class Person {
public private(set) var name: String
init(name: String) {
self.name = name
}
}
var jake = Person(name: "jake")
print(jake.name) // jake
jake.name = "wiki" // error 발생
Computed Property의 용도
- getter / setter 용도의 computed property
- storedProperty는 언더바를 붙인 형태로 구분하여 사용
class Test {
private var _myProperty: Int
var myProperty: Int {
get {
return _myProperty
}
set {
return _myProperty = newValue
}
}
}
- 이름 그대로 property에 연산이 필요한 경우
struct Rect {
var origin = Point()
var size = Size()
var center: Point {
get {
let centerX = origin.x + (size.width / 2)
let centerY = origin.y + (size.height / 2)
return Point(x: centerX, y: centerY)
}
set {
origin.x = newValue.x - (size.width / 2)
origin.y = newValue.y - (size.height / 2)
}
}
}
'iOS 응용 (swift)' 카테고리의 다른 글
Comments