일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- font book
- xcode로 날씨앱 만들기
- CLLocationManagerDelegate
- addannotation
- dispatchsource
- Protocol
- Timer
- swift
- MKMapViewDelegate
- Required Reason API
- weatherKit
- WeatherManager
- SwiftUI Boolean 값
- 한국어 개인정보처리방침
- RunningTimer
- 서체관리자
- 단일 책임원칙
- weak var
- MKMapItem
- Startign Assignments
- AnyObject
- Xcode
- 영문 개인정보처리방침
- UIAlertAction
- 러닝타이머
- 클로저의 캡슐화
- App Store Connect
- 러닝기록앱
- CoreLocation
- UICollectionViewFlowLayout
- Today
- Total
VesselWheel
[SwiftUI] 사용자 정의 연산자(Custom Operators) 본문
import UIKit
// 사용자 정의 연산자
// Custom Operators
prefix operator +++
// Int type 에 연산자 추가하기
extension Int{
static prefix func +++(num: inout Int){
num += 2
}
}
var num1 = 10
+++num1
num1
// 사용자 정의 연산자를 정의할 때
// 우선순위 그룹을 지정해야 함
// 이 경우에는 우선순위 그룹을 지정하지 않아서 기본 그룹에 속하게 됨
// + 연산자는 'AdditionPrecedence' 에 속해 있음
// 사용자 정의 우선순위 그룹 설정하기
precedencegroup UserPrecedence{
higherThan: AdditionPrecedence
}
// 1 *+* 2 + 3
// infix operator *+*: MultiplicationPrecedence
infix operator *+*: UserPrecedence
extension Int{
static func *+*(left: Int, right: Int) -> Int{
return (left * right) + (left * right)
}
}
2 *+* 3
4 *+* 5
/*
Adjacent operators are in unordered precedence groups 'DefaultPrecedence' and 'AdditionPrecedence'
*/
1 *+* 2 + 3
'Xcode Study' 카테고리의 다른 글
[SwiftUI]if 문의 개념 (0) | 2023.04.26 |
---|---|
[SwiftUI] 제어문(Control Statement), 조건문(if/switch), 반복문(for in a...b / while) (0) | 2023.04.26 |
[SwiftUI] 구조체 연산자 (0) | 2023.04.26 |
[SwiftUI] 범위연산자(Range Operator) (0) | 2023.04.25 |
[SwiftUI] bitwise left shift operator (0) | 2023.04.25 |