일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift documentation
- ios
- tableView
- Clean Code
- Xcode
- RxCocoa
- Protocol
- UITextView
- HIG
- ribs
- 클린 코드
- 리펙토링
- uiscrollview
- collectionview
- map
- swiftUI
- 리펙터링
- Human interface guide
- rxswift
- combine
- 애니메이션
- Refactoring
- 스위프트
- Observable
- SWIFT
- UICollectionView
- MVVM
- 리팩토링
- uitableview
- clean architecture
- Today
- Total
목록Reference Type (2)
김종권의 iOS 앱 개발 알아가기
value type, reference type swift에는 2가지 타입이 존재 value type: struct, enum, collection, 기본타입(Int Double, Bool ...) reference type: class, function, closure 두 타입의 차이 - copying value tpye - 카피할때 데이터의 복사본을 생성 reference type - shared instance를 생성하여 같은 인스턴스를 바라보는 참조값을 생성 cf) value type을 사용하면, thread간 의도하지 않은 공유로부터 안전한 프로그래밍이 되어, 로버트 C. 마틴의 클린 코드에서 얘기하는 functional programming 핵심은 데이터의 불변성에 도움 메모리 공간 할당 일반..
`==` vs `===` a == b: a의 값과 b의 value가 같은지 비교 let value1 = 1 let value2 = 2 print(value1 == value2) // false a === b: a가 참조하고 있는 인스턴스와 b가 참조하고 있는 인스턴스가 같은지 비교 swift에서는 크게 value타입과 reference타입이 존재할 때, reference타입을 가질 수 있는 class 객체를 참조할 수 있는 변수는 다수가 될 수 있으므로 === 연산자가 필요 let p1 = Person(id: 1, name: "kim") let p2 = Person(id: 1, name: "kim") let p3 = p1 print(p1 === p2) // false print(p1 === p3) // ..