1) 디자인 패턴 - Singleton Singleton클래스는 클래스의 인스턴스를 가진 shared라는 정적 상수를 생성했습니다.static으로 선언했기 때문에 클래스를 인스턴스화 하지 않아도 호출 할 수 있습니다.- 싱글톤 패턴을 사용하면 오직 하나의 인스턴스만 존재하게 됩니다. 싱글톤 클래스에 name변수 생성하고 "Ellie"로 초기화 했습니다.init초기화 부분은 private으로 설정해 다른 곳에서 인스턴스를 생성하지 못하도록 했습니다.왜냐하면 위에서 "싱글톤 패턴을 사용하면 오직 하나의 인스턴스만 존재하게 됩니다."라고 했으니 여러곳에서 인스턴스를 생성하면 그건 싱글톤 패턴이랑은 거리가 멀겠죠.a.name과 b.name을 출력하면 name에는 Ellie가 들어있습니다.Singleton(b)인..
Q delegate는 왜 Weak로 선언할까요? A Retain cycle 을 피하기 위해서! 기본적으로 클래스의 객체를 가리키는 각각의 reference는 강함 참조(strong)입니다.두 클래스 인스턴스가 서로 강한 참조를 하게 되면 그것이 Retain Cycle이 됩니다. 서로 강한 참조를 하고 있으면 사용하지 않는데도 deinit 되지 않습니다. 만약에 객체에 대한 강한 참조가 존재하지 않는다면 메모리에서 자동으로 해제됩니다.weak로 선언한다면 강한 참조가 되지 않아 객체의 메모리가 해제되면 자동으로 nil이 될 것입니다. Retain Cycle은 delegate에서는 흔하게 발생합니다. 그래서 delegate를 사용할 땐 대부분의 상황에 weak로 선언합니다.UITableViewDelegate..
- Total
- Today
- Yesterday
- 책
- objective-c
- iOS SwiftUI
- 딥러닝
- ios
- Algorithm
- wwdc
- Xcode
- 독서
- 애니메이션
- 책 후기
- 스위프트UI
- leetcode
- 스위프트
- 문자열
- SWIFT
- RX
- Deep learning
- Animation
- ARC
- string
- 알고리즘
- 책 추천
- rxswift
- ReactiveX
- swiftUI
- 머신러닝
- stanford SwiftUI
- swift5
- objc
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |