일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- String
- init
- optional
- Git
- 코딩테스트
- Method
- property
- Protocol
- initializer
- enum
- 스위프트
- 디자인패턴
- type
- extension
- Xcode
- 이니셜라이저
- struct
- delegate
- instance
- Terminal
- tuist
- initalizer
- url
- interpace
- Class
- UIKit
- Unicode
- IOS
- Foundation
- Swift
- Today
- Total
목록전체 글 (77)
아리의 iOS 탐구생활
🔍 Swift는 메모리 관리를 어떻게 할까? ARC(Automatic Reference Counting)를 사용한다. 🔍 RC(Referenc Count)란 무엇인가? 인스턴스를 현재 누가 가르키고 있느냐 없느냐(참조하냐 안하냐)를 숫자로 표현한 것. 참조 계산 시점: Complie Time에 언제 참조되고 해제되는지 결정되어 런타임 때 그대로 실행된다. 장점: 개발자가 참조 해제 시점을 파악할 수 있고, RunTime 시점에 추가 리소스가 발생하지 않는다. 단점: 순환 참조가 발생 시 영구적으로 메모리가 해제되지 않을 수 있다. Objective-C는 MRC(직접 할당/해제)를 사용했었다. 🔍 RC는 어떤 기준으로 숫자를 셀까? Count Up : 인스턴스의 주소값을 변수에 할당할 때 인스턴스 생성(새..
✔️ Class’s initalizer 🔍 Designated initalizer (지정 초기화) 흔히 보는 기본적인 initalizer이다. 부모 Class의 initalizer를 호출할 수 있다. class 내부에는 반드시 한 개 이상의 Designated initalizer가 있어야 한다. init(매개 변수) { /* 구현부 */ } 🔍 Convenience initalizer (편의 초기화) Designated initalizer의 일부 매개변수의 기본값을 설정하여 초기화하는 initalizer이다. 쉽게 말하면 기존 Designated initalizer에 default를 주고 싶은 경우에 사용한다. 더 적은 입력으로 초기화를 편리하게 할 수 있게 도와주는 역할을 한다. convenience ..
✔️ Struct’s initalizer 종류 🔍 Memberwise initalizer 구조체 내에 프로퍼티가 하나라도 초기화 되지 않은 경우, 초기값이 없는 속성을 매개변수로 갖는 Memberwise initalizer가 제공된다. 속성이 모두 let으로 값까지 모두 초기화 되어있는 경우에는 Memberwise initalizer는 제공되지 않는다. 🔍 기본 initalizer 프로퍼티가 모두 초기화 되어있는 경우 매개변수가 없는 initalizer가 제공된다. struct Sample { let own: Int let two: String let three: Bool } let test1 = Sample(own: 1, two: "문자열", three: true) // Memberwise inital..
이니셜라이저(initalizer)란? 쉽게 예를 들어본다면 아이폰에서 공장초기화를 하는 것을 생각해보면 된다. 초기에 상품이 나올때의 상태로 세팅하는 것과 같다고 볼 수 있다. class, struct, enum 등의 Instance를 생성할 때 필요한 값들을 넣어주는 준비 작업이다. Property의 초기값을 설정한다. 초기화 작업이 완료되면 메모리에 Instance가 생성 된다. 가장 기본적인 형태는 매개변수가 없는 형태이다. init() { // 이 곳에서 초기화를 구현 } struct Say { var text = "말" init() { print(text) } } let test = Say() // 출력: 말 🔍 기본값을 지정하여 초기화 초기화할때 프로퍼티의 선언과 동시에 값을 할당하면 그 값을..
앞서 배우기 전에 값 타입과 참조 타입이 뭔지 알아볼까? ✔️ Swift에서 값 타입과 참조 타입 Value Type Reference Type Structure Enumeration Tuple Class Closure 🔍 값 타입(Value Type) 원본의 복사본을 가진 독립 인스턴스를 가지고 있다. 즉 함수의 매개변수로 값을 보낼 때나 값을 할당할 때 copy 속성으로 값을 처리한다는 것이다. 인스턴스 생성시 스택에 인스턴스가 저장된다. 🔍 참조 타입(Reference Type) 값 타입과 달리 값이 복사되는 것이 아닌 메모리를 참조한다. 즉 메모리 위치를 전달한다. 인스턴스 생성시 스택에는 힙메모리주소가 저장되고 힙에는 인스턴스가 저장된다. 그리고 인스턴스는 스택에 생성된 메모리에 연결된다. 값타..