250x250
반응형
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
- 대표
- 이론
- 반응형
- ios
- 토이프로젝트
- Optional
- mvc
- 동시성
- 실습
- 기초문법
- WeatherKit
- uikit
- 스트럭트
- 프로토콜
- 구름톤 유니브
- 네트워크
- async
- RxSwift
- 앱개발
- 학과별커뮤니티
- 세종대학교
- collectionview
- CS
- 옵셔널
- MVVM
- SwiftUI
- swift
- struct
- Kingfisher
- GCD
Archives
- Today
- Total
스윞한 개발자
Swift 기초 문법 - 프로토콜 조건 적용 본문
728x90
반응형
SMALL

스위프트에서 프로토콜 조건은 제네릭 타입의 제약 조건을 정의하는 데 사용되는 개념입니다.
제네릭 함수나 타입을 선언할 때, 특정 프로토콜을 준수하는 타입만을 제네릭으로 받도록 제한하고 싶을 때 사용됩니다.
func someFunction<T: SomeProtocol>(parameter: T) {
// 함수 내용
}
struct SomeStruct<T: AnotherProtocol> {
// 구조체 내용
}
<T: SomeProtocol>와 <T: AnotherProtocol>는 제네릭 타입 T가 각각 SomeProtocol와 AnotherProtocol 프로토콜을 준수하는 타입으로 제한되도록 정의한 것입니다.
func findIndex<T: Equatable>(of valueToFind: T, in array: [T]) -> Int? {
for (index, value) in array.enumerated() {
if value == valueToFind {
return index
}
}
return nil
}
let names = ["Alice", "Bob", "Charlie"]
let index = findIndex(of: "Bob", in: names)
print("Index of Bob: \(index ?? -1)") // Index of Bob: 1
findIndex 함수에서 T: Equatable은 valueToFind와 배열의 요소들이 Equatable 프로토콜을 준수하는 타입으로 제한됩니다.
이를 통해 == 연산자를 사용하여 값을 비교할 수 있습니다.
참고(출처) : 개발하는 정대리, 야곰(Swift5)
728x90
반응형
LIST
'Swift 이론' 카테고리의 다른 글
SwiftUI란? (0) | 2024.01.29 |
---|---|
Swift 기초 문법 - 자료형 체크 (0) | 2024.01.29 |
Swift 기초 문법 - toggle (0) | 2024.01.29 |
Swift 기초 문법 - singleton 패턴 (0) | 2024.01.29 |
Swift 기초 문법 - struct 기본 생성자 (0) | 2024.01.29 |