일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Startign Assignments
- 영문 개인정보처리방침
- xcode로 날씨앱 만들기
- Timer
- CoreLocation
- Protocol
- font book
- MKMapItem
- UIAlertAction
- 러닝기록앱
- 클로저의 캡슐화
- 서체관리자
- swift
- Xcode
- RunningTimer
- addannotation
- App Store Connect
- AnyObject
- weatherKit
- CLLocationManagerDelegate
- Required Reason API
- 단일 책임원칙
- 러닝타이머
- UICollectionViewFlowLayout
- 한국어 개인정보처리방침
- WeatherManager
- weak var
- SwiftUI Boolean 값
- dispatchsource
- MKMapViewDelegate
- Today
- Total
VesselWheel
[SwiftUI] 구조체 연산자 본문
import UIKit
// operator methods
10 == 10
"a" == "a"
// 구조체 : 서로 같거나 다른 type 의 변수를 모아놓은 것
// struct 구조체이름 { 변수들... }
struct Point{
var x = 0.0
var y = 0.0
}
let point1 = Point(x: 12, y: 36)
let point2 = Point(x: 12, y: 36)
/*Binary operator '==' cannot be applied to two 'Point' operands
point1 == point2
*/
// Point 구조체에서 사용할 == 연산자 작성하기
extension Point: Equatable{
// (p1: Point, p2: Point) - parameter 로 Point 구조체를 받음
static func ==(p1: Point, p2: Point) -> Bool{
return p1.x == p2.x && p1.y == p2.y
}
}
point1 == point2
let point3 = Point(x: 10, y: 20)
let point4 = Point(x: 30, y: 40)
point3 == point4
point3 != point4
extension Point{
static prefix func -(pt: Point) -> Point{
return Point(x: -pt.x, y: -pt.y)
}
}
// let point1 = Point(x: 12, y: 36)
let point5 = -point1
point5.x
point5.y
extension Point{
static postfix func ++(pt: inout Point) -> Point{
pt.x += 1
pt.y += 1
return pt
}
}
var point6 = Point(x: 1.0, y: 2.0)
point6.x
point6.y
var point7 = point6++
point6.x
point6.y
point7.x
point7.y
type(of: point7.x)
type(of: point7.y)
'Xcode Study' 카테고리의 다른 글
[SwiftUI] 제어문(Control Statement), 조건문(if/switch), 반복문(for in a...b / while) (0) | 2023.04.26 |
---|---|
[SwiftUI] 사용자 정의 연산자(Custom Operators) (0) | 2023.04.26 |
[SwiftUI] 범위연산자(Range Operator) (0) | 2023.04.25 |
[SwiftUI] bitwise left shift operator (0) | 2023.04.25 |
[SwiftUI] Bitwise Operator 비트 연산자 (0) | 2023.04.25 |