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
- sqoop
- 데이터베이스 공부
- global soop
- 앱 비교 프로젝트
- 애플 디벨로퍼 아카데미 21주차 회고
- 네이버 치지직
- 애플 디벨로퍼 아카데미 후기
- swift문법
- 애플 디벨로퍼 아카데미
- 제앱소
- 네이버 부스트캠프
- 애플 아카데미 후기
- Swift 문법
- ObservableObject
- StateObject
- 치지직
- useReducer
- Swift 기능
- apple developer academy 후기
- react
- 숭실대
- 운영체제
- ObservedObject
- OS
- Swift 디자인패턴
- 데이터베이스
- iOS 개발 오류
- SWIFT
- Apple Developer Academy @ POSTECH
- 소프트웨어분석및설계
Archives
- Today
- Total
사과하는 제라스
[Swift 문법] inout 메소드 매개변수 본문
목차
728x90
반응형
inout이란 키워드도 지난번 부스트캠프 다른 캠퍼 분 코드 컴파일링 시 본 적이 있다.
무슨 기능인지 그 당시엔 넘어갔지만 이번에 정리하고 가고자 한다.
생각보다 쉬운 개념이었다.
import UIKit
// 여기서는 name을 직접 수정하는 일이 없는데, 만약 수정하려고 하면 에러가 뜬다.
// 왜냐하면 매개변수는 기본적으로 let으로 설정되어 있기 때문이다.
func sayName(_ name: String){
print("안녕?! 난 \(name) 라고 해")
}
// 이렇게 inout 키워드를 매개변수의 type 앞에 적어주면 해당 매개변수의 값을 메소드 내에서 변경이 가능하다.
func sayHi(_ name: inout String){
name = "개발하는 " + name
print("안녕?! 난 \(name) 라고 해")
}
// 하지만!!!!!!! 이렇게 하면 안된다. inout 변수에는 반드시 변수가 들어가져야 한다.
sayName("제라스")
// inout 메소드에 들어가는 값은 변경 가능해야 한다.
// 그래서 메소드에 바로 값을 넣지 못하고 변수에 한번 값을 담은 뒤에 넣어야 한다.
var name = "제라스"
// 그리고 inout 매개변수라고 해당 변수 앞에 &을 달아준다.
sayHi(&name)
이렇게 inout 매개변수를 넣을 땐 &를 써줘야 하는 점, &뒤에는 변수에 값을 담아서 전송해줘야 한다는 점.
이 2가지가 inout 키워드를 사용 시 잘 알아두고 가야할 부분인 것 같다.
728x90
반응형
'제라스의 iOS 공부 > Swift 문법' 카테고리의 다른 글
[Swift 문법] class func와 static func (0) | 2023.08.18 |
---|---|
[Swift 문법] 고차함수 with 클로저 (0) | 2023.08.18 |
[Swift 문법] 딕셔너리 타입 초기화 방법 (0) | 2023.08.17 |
[Swift 문법] Closure를 알아보자! (0) | 2023.08.17 |
[Swift 문법] enum의 사용법 (0) | 2023.08.16 |