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 |
Tags
- uiscrollview
- Observable
- 리펙터링
- 클린 코드
- Human interface guide
- HIG
- 애니메이션
- UICollectionView
- combine
- 리팩토링
- RxCocoa
- 스위프트
- UITextView
- rxswift
- ios
- swift documentation
- 리펙토링
- uitableview
- Refactoring
- MVVM
- swiftUI
- Protocol
- tableView
- ribs
- collectionview
- Xcode
- clean architecture
- map
- SWIFT
- Clean Code
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[iOS - swift] Identifiable 프로토콜 본문
Identifiable 프로토콜
- iOS 13+ (swift5.1)
- 단순히 id 프로퍼티를 가지고 있는 형태
- 어떤 struct, class를 정의할 때 ID값이 필요한 경우 해당 protocol을 conform
@available(macOS 10.15, iOS 13, tvOS 13, watchOS 6, *)
public protocol Identifiable {
/// A type representing the stable identity of the entity associated with
/// an instance.
associatedtype ID : Hashable
/// The stable identity of the entity associated with this instance.
var id: Self.ID { get }
}
예시)
- Student들을 구별할 때 ID값 필요
- 프로토콜에 있는 프로퍼티 'id' 정의를 강제화
struct Student: Identifiable {
let id: String
let name: String
}
* 참고
https://developer.apple.com/documentation/swift/identifiable
'iOS 기본 (swift)' 카테고리의 다른 글
[iOS - swift] guard let self = self 사용 시 주의할 점 (0) | 2021.07.08 |
---|---|
[iOS - swift] Self vs self (대문자 Self와 소문자 self) (0) | 2021.07.06 |
[iOS - swift] (프로퍼티 구분) Stored Property vs Computed Property (0) | 2021.06.19 |
[iOS - swift] 초기화 사용 주의(super.init 호출 타이밍) (0) | 2021.06.18 |
[iOS - swift] tableView (테이블뷰), section 사용 방법 (0) | 2021.06.13 |
Comments