[iOS] in-out 매개변수

CastleSilver·2023년 4월 26일
0

iOS 공부

목록 보기
13/13
post-thumbnail

개요

함수 매개변수는 기본적으로 상수입니다. 만약 함수 내에서 함수 매개 변수의 값을 변경하려고 하면 compile-time error가 발생하게 됩니다. 그러나 in-out 매개변수는 함수가 매개변수 값을 수정할 수 있게 하고 함수 호출이 끝난 후에도 변경 사항을 유지할 수 있게 합니다.

예제

인아웃 매개변수는 유형 바로 앞에 키워드를 배치하는 식으로 작성합니다. 인아웃 매개변수는 함수 안으로 전달되는 값을 가지고 있으며 함수에 의해 수정되고, 기존 값을 대체하기 위해 다시 함수 밖으로 전달됩니다.

func swapTwoInts(_ a: inout Int, _ b: inout Int) {
    let temporaryA = a
    a = b
    b = temporaryA
}

특징

  • 인아웃 매개변수는 상수나 리터럴을 값으로 받을 수 없습니다. 오직 변수만 값으로 받을 수 있습니다.
  • 변수를 인아웃 매개변수에 전달할 때 변수 이름 앞에 &을 추가하여 함수에서 수정할 수 있음을 나타냅니다.
profile
우당탕탕 비전공자 개발자

0개의 댓글