일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- CLLocationManagerDelegate
- dispatchsource
- swift
- xcode로 날씨앱 만들기
- addannotation
- weatherKit
- font book
- Protocol
- RunningTimer
- 러닝타이머
- CoreLocation
- 서체관리자
- Startign Assignments
- 클로저의 캡슐화
- UICollectionViewFlowLayout
- UIAlertAction
- MKMapViewDelegate
- 영문 개인정보처리방침
- 한국어 개인정보처리방침
- SwiftUI Boolean 값
- Xcode
- AnyObject
- Timer
- Required Reason API
- App Store Connect
- MKMapItem
- WeatherManager
- 단일 책임원칙
- weak var
- 러닝기록앱
Archives
- Today
- Total
VesselWheel
Mutating Keyword 본문
구조체나 열거형 내에서 매서드가 내부 속성을 수정할 수 있도록 하는 키워드
mutating func
/*
Swift에서 mutating 키워드는 구조체(Structs)나 열거형(Enum) 내에서
메서드(Method)가 해당 구조체 또는 열거형의 속성을 수정할 수 있도록 하는 키워드입니다.
기본적으로 Swift에서는 구조체나 열거형의 인스턴스가 상수로 선언되면
해당 인스턴스의 속성을 변경할 수 없습니다.
그러나 메서드 내에서 해당 인스턴스의 속성을 변경하려면 mutating 키워드를 사용하여
해당 메서드가 해당 인스턴스의 속성을 수정할 수 있도록 허용해야 합니다.
*/
// 구조체 예시
struct Point {
var x = 0.0, y = 0.0
mutating func moveBy(x deltaX: Double, y deltaY: Double) {
x += deltaX
y += deltaY
}
}
var point = Point(x: 1.0, y: 1.0)
print("Before moving: x = \(point.x), y = \(point.y)")
point.moveBy(x: 2.0, y: 3.0)
print("After moving: x = \(point.x), y = \(point.y)")
// Before moving: x = 1.0, y = 1.0
// After moving: x = 3.0, y = 4.0
// 열거형 예시
enum TrafficLight {
case red, yellow, green
mutating func next() {
switch self {
case .red:
self = .green
case .yellow:
self = .red
case .green:
self = .yellow
}
}
}
var currentLight = TrafficLight.red
print("Current light is \(currentLight)")
currentLight.next()
print("Next light is \(currentLight)")
// Current light is red
// Next light is green
'Xcode Study' 카테고리의 다른 글
키오스크 프로그램(lv1) (0) | 2023.12.06 |
---|---|
키오스크 프로그램과 클로져 (0) | 2023.12.05 |
Calculator in playground (0) | 2023.11.30 |
Xcode의 StoryBoard가 xml 화면으로 나올 때 (0) | 2023.11.24 |
UITableViewCell (0) | 2023.11.24 |