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
- swift
- 코딩테스트
- API
- components()
- xocde
- joined()
- 코드업 파이썬 기초 100제
- 프로그래머스
- 대문자소문자
- IOS
- reduce()
- 라이징캠프
- 클론코딩
- String()
- 싱글톤
- MVC
- suffix()
- zip()
- Segue
- github
- GIT
- replacesubrange()
- uikit
- prefix()
- Autolayout
- variadic parameters
- alamofire
- 알고리즘
- tableView
- BackgroundModes
Archives
- Today
- Total
Daeng iOS
[iOS/Swift] variadic parameters(가변 매개변수), 파라미터 뒤에... 본문
가변 매개변수는 같은 타입의 여러 개 값을 받을 수 있게 해주는 문법
역할
1) 호출 시 여러 개의 인수를 받을 수 있게 한다.
2) 함수 내부에서는 배열 타입으로 처리된다.
3) 코드가 더 자연스럽고 직관적이 된다.
사용 예시를 정리해보았다!
먼저 가변 매개변수를 사용할 때와 안한 경우를 비교
// 가변 매개변수 없이
func normalFunction(arrays: [[NSLayoutConstraint]]) {
// 배열의 배열을 하나만 받음
}
// 사용할 때:
normalFunction(arrays: [titleConstraints, actionConstraints, iconConstraints])
// 가변 매개변수 사용
func variadicFunction(_ constraintGroups: [NSLayoutConstraint]...) {
// 여러 개의 배열을 직접 받음
}
// 사용할 때:
variadicFunction(titleConstraints, actionConstraints, iconConstraints)
그리고 Swift 내장 함수들도 가변 매개변수를 사용한다
예를 들면...
// print 함수
print("Hello", "World", "Swift") // 여러 개 값 전달
// max 함수
let maximum = max(1, 5, 3, 9, 2) // 여러 개 숫자 중 최대값
배열을 넣는 것 말고도 이런 식으로도 쓸 수 있다
// 우리가 만든 함수
func sum(_ numbers: Int...) -> Int {
return numbers.reduce(0, +)
}
sum(1, 2, 3, 4, 5) // 15 반환
func exampleFunction(_ items: String...) {
// items는 함수 내부에서 [String] 타입이 됩니다
print("받은 아이템 개수: \(items.count)")
for item in items {
print(item)
}
}
// 호출 방법들:
exampleFunction() // 0개
exampleFunction("Apple") // 1개
exampleFunction("Apple", "Banana") // 2개
exampleFunction("A", "B", "C", "D") // 4개
유용하게 쓸 수 있을 듯 !
'IOS > Swift' 카테고리의 다른 글
| [Swift] zip(_:_:)에 대하여.. (0) | 2024.05.22 |
|---|---|
| [Swift] suffix(_:)에 대하여.. (0) | 2024.05.17 |
| [Swift] prefix(_:)에 대하여.. (0) | 2024.05.17 |
| [Swift] joined(separator:)에 대해.. (0) | 2024.05.09 |
| [Swift] 고차함수 map(_:)에 대해.. (0) | 2024.05.07 |