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 |
Tags
- SWIFT
- copy-on-write
- ios 개발 강의
- actionSheet
- Git
- 내_삶
- class
- 글또9기
- 코드스니펫
- 바이트디그리
- 다짐글
- error해결
- IOS
- uikit
- 연관값
- avaliable
- 파스칼표기법
- MyLife
- 생명주기
- struct
- 제어전송문
- Switch
- 글또
- 회고
- AnyObject
- K디지털기초역량훈련
- unrecognized selector sent to class
- 주간 달력
- weekly calendar
- On branch is up to date with ' '
Archives
- Today
- Total
seong_hye, the developer
Swift) 문법 정리 - inout 키워드 본문
일반적인 변수들은 값을 복사해서 사용하게 된다.
하지만 복사한 값이 아닌 그 값 자체가 필요하게 된다면 어떻게 해야할까?
swift에서는 함수의 파라미터에서는 이런 경우를 대비하여
inout 키워드가 준비되어 있다.
inout 키워드는 함수의 파라미터 타입 앞에 위치하며
파라미터의 복사본이 전달되는 것이 아닌 원본이 전달되게 해준다.
(copy-in copy-out 메커니즘)
func swapNumbers(a: inout Int, b: inout Int) {
var c = a
a = b
b = c
}
함수를 실행해 변수를 전달할 때는 &(앰퍼샌드) 기호를 꼭 붙여야 한다.
원본을 전달한다는 걸 미리 메모리에 알리는 역할을 해준다.
var num1 = 5
var num2 = 9
swapNumbers(a: &num1, b: &num2) // num1 = 9, num2 = 5
참고자료)
앨런 Swift문법 마스터 스쿨 (온라인 BootCamp - 2개월과정) 강의 - 인프런
Swift문법을 제대로 이해, 활용해보고자 하는 철학을 바탕으로 과정이 설계되었습니다. 코딩에 대해 1도 모르는 비전공자를 시작으로 네카라쿠배에 입사할 수 있는 초고급 수준까지 올리는 것을
www.inflearn.com
'IOS' 카테고리의 다른 글
Swift) AutoLayout vs Frame (0) | 2022.07.19 |
---|---|
Swift) 문법 정리 - guard문 (0) | 2022.07.19 |
Swift)문법 정리 - 고차함수 (0) | 2022.07.12 |
Swift) 문법 정리 - 클로저 (Closure) (0) | 2022.07.12 |
Swift) 문법 정리 - 에러 처리(Error Handling) (0) | 2022.07.12 |
Comments