클래스 내 상수 프로퍼티 / 클래스 인스턴스 상수 클래스 A의 property를 상수로 선언했다. 클래스 인스턴스 one, two를 상수로 생성했다. ❌ 여기서 one의 a값을 10으로 변경해보면 에러가 발생한다. ❌ 여기서 one을 two의 참조값으로 변경해보면 에러가 발생한다. 아무것도 변경할 수 없음. 클래스 내 변수 프로퍼티 / 클래스 인스턴스 상수 클래스 A의 property를 변수로 선언했다. 클래스 인스턴스 one, two를 상수로 생성했다. ⭕️ 여기서 one의 a값을 10으로 변경해보면 잘 변경된다. ❌ 여기서 one을 two의 참조값으로 변경해보면 에러가 발생한다. 결과 클래스 내에 선언된 프로퍼티는 변수라 변경 가능하다. 하지만 참조값은 변경되지 않는다. 클래스 내 상수 프로퍼티 / ..
먼저 클래스란 무엇일까요? 클래스는 데이터와 데이터를 다루는 행위를 정의하는 것입니다. 또한 객체 상태를 나타내는 필드와 객체 행동을 나타내는 메소드로 구성됩니다. 엥 갑자기 객체? 그럼 클래스는 뭐고 객체는 뭘까요? 클래스와 객체의 차이에 대해서 학교 다닐때 부터 많이 많이... 들었을 겁니다. 붕어빵 틀... 그리고 붕어빵 네 붕어빵 틀에서 붕어빵이 만들어지죠. 클래스에서 객체를 생성해냅니다. (객체를 만들어 내기 위한 설계도, 틀과 같은 개념을 클래스라고 합니다.) 간단하게 클래스와 객체에 대해서 파악했습니다. 그럼 옵젝씨에서 클래스는 어떻게 선언할까요? 새로운 파일을 먼저 만들어 줍시다. 클래스명은 Car으로 작성했습니다. NSObject의 서브클래스입니다. 언어는 당연히 옵젝씨. 그리고 다음 버..
Q delegate는 왜 Weak로 선언할까요? A Retain cycle 을 피하기 위해서! 기본적으로 클래스의 객체를 가리키는 각각의 reference는 강함 참조(strong)입니다.두 클래스 인스턴스가 서로 강한 참조를 하게 되면 그것이 Retain Cycle이 됩니다. 서로 강한 참조를 하고 있으면 사용하지 않는데도 deinit 되지 않습니다. 만약에 객체에 대한 강한 참조가 존재하지 않는다면 메모리에서 자동으로 해제됩니다.weak로 선언한다면 강한 참조가 되지 않아 객체의 메모리가 해제되면 자동으로 nil이 될 것입니다. Retain Cycle은 delegate에서는 흔하게 발생합니다. 그래서 delegate를 사용할 땐 대부분의 상황에 weak로 선언합니다.UITableViewDelegate..
- Total
- Today
- Yesterday
- 독서
- leetcode
- swiftUI
- swift5
- 책
- RX
- 문자열
- 머신러닝
- iOS SwiftUI
- ARC
- Deep learning
- ReactiveX
- string
- 스위프트
- ios
- wwdc
- 알고리즘
- 스위프트UI
- objective-c
- Algorithm
- 딥러닝
- Animation
- 애니메이션
- SWIFT
- 책 추천
- Xcode
- rxswift
- objc
- stanford SwiftUI
- 책 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |