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
- tableView
- 애니메이션
- Xcode
- combine
- rxswift
- ios
- Clean Code
- HIG
- RxCocoa
- Observable
- MVVM
- Refactoring
- clean architecture
- 리팩토링
- UICollectionView
- uiscrollview
- swiftUI
- ribs
- SWIFT
- 리펙토링
- map
- Protocol
- collectionview
- uitableview
- swift documentation
- 클린 코드
- 리펙터링
- Human interface guide
- 스위프트
- UITextView
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Optional Operator (옵셔널 프로퍼티 연산) 본문
Optional Property 연산
- Optional 타입인 프로퍼티가 있을때 여기에 특정 값을 더하거나, 빼거나 연산을 하고 싶은 경우 보통 아래처럼 작성
- Optional binding을 시도한 후 값이 있는 경우에 10을 새로 더하는 방식
var intValue: Int? = 10
func addTen() {
if let intValue {
self.intValue = intValue + 10
}
}
- 프로퍼티에 ? 를 사용하면 더욱 편리하기 표현이 가능
func addTen() {
intValue? += 10
}
번외 - 조건문에서 사용
- Optional타입은 enum으로 정의되어 있고 .some으로 접근하면 바로 optional binding가 가능
let optionalString = Optional<String>("jake")
switch optionalString {
case .none:
print("this is nil")
case let .some(value):
print("some value = ", value)
}
// some value = jake
- 이 뿐만 아니라 위에서 알아본 Optional Property를 연산했던것과 마찬가지로 ? 로 더욱 간결하게 접근도 가능
switch optionalString {
case .none:
print("this is nil")
case let unwrappedValue?:
print("unwrappedValue = \(unwrappedValue)")
}
'iOS 응용 (swift)' 카테고리의 다른 글
[iOS - swift] Autolayout과 translatesAutoresizingMaskIntoConstraints 이해하기 (Autoresizing Mask) (1) | 2024.02.07 |
---|---|
[iOS - swift] Type casting 표현식 (0) | 2024.02.06 |
[iOS - swift] any vs some 키워드 (dynamic dispatch, static dispatch, type erase) (1) | 2024.02.02 |
[iOS - swift] 3. 추상화 - 프로토콜에 제네릭스 사용하는 추상화 이해하기 (1) | 2024.02.01 |
[iOS - swift] 2. 추상화 - 제네릭스로 추상화하기 (#GenericTableView) (2) | 2024.01.31 |
Comments