일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Git
- Xcode
- 디자인패턴
- Protocol
- instance
- String
- 이니셜라이저
- 코딩테스트
- delegate
- Class
- 스위프트
- Terminal
- IOS
- initializer
- interpace
- tuist
- extension
- type
- Unicode
- initalizer
- UIKit
- enum
- url
- struct
- init
- Foundation
- optional
- Method
- property
- Swift
- Today
- Total
목록Swift/문법 (13)
아리의 iOS 탐구생활
이니셜라이저(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) 값 타입과 달리 값이 복사되는 것이 아닌 메모리를 참조한다. 즉 메모리 위치를 전달한다. 인스턴스 생성시 스택에는 힙메모리주소가 저장되고 힙에는 인스턴스가 저장된다. 그리고 인스턴스는 스택에 생성된 메모리에 연결된다. 값타..
✔️ inout이 뭔데? Swift는 기본적으로 'call by value' 형식이다. 그래서 call by reference를 구현하려면 함수의 매개변수를 inout parameter로 구현해야한다. 함수의 매개변수는 기본적으로 상수(let)이다. 함수는 값을 복사하여 내부에 전달하지만, inout 키워드를 사용하면 참조로 전달하게 된다. 예를 들어 일반적인 함수를 만들어서 확인해보면, var A = 3 var B = 9 func swapTwoTest(_ numbersOwn: Int, _ numbersTwo: Int) { // numbersOwn = 6 // Cannot assign to value: 'numbersOwn' is a 'let' constant // numbersTwo = 18 // Ca..