일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- extension
- Swift
- initializer
- tuist
- enum
- interpace
- Protocol
- Method
- 코딩테스트
- String
- property
- type
- Git
- Terminal
- instance
- 이니셜라이저
- UIKit
- Class
- struct
- delegate
- Xcode
- IOS
- initalizer
- optional
- url
- 스위프트
- 디자인패턴
- Foundation
- init
- Unicode
- Today
- Total
목록Swift/iOS (34)
아리의 iOS 탐구생활

Apple Developer Documentation developer.apple.com 아이폰 앱마다 자기만의 공간을 가지고 있는데, 이 공간을 관리하는 매니저라 생각하면 될 것 같다. 이 공간은 일반 맥, 윈도우처럼 Document 폴더, Download 폴더 등등 다양한 종류의 폴더가 있다. 경로(URL) 접근하기 다른 작업을 하기전 공통 사항인 해당 폴더로 접근하는 방법을 먼저 알아보자. // 파일매니저 인스턴스 생성 let fileManager = FileManager.default // 사용자의 문서 경로 let documentPath: URL = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0] urls라는 메소드는 요청된 ..

Date 관련 타입들은 앱 개발을 할때 굉장히 많이 사용하게 되는 타입중 하나이다. 시간과 날짜를 다루는 타입들은 swift 기본 프레임워크인 Foundation에 포함되어 있다. 🔍 Date Apple Developer Documentation developer.apple.com Foundation의 Date 타입은 전 세계적으로 정확히 같은 시간을 표현하기 위한 타입이다. init() 현재 시간을 나타내준다. init(timeIntervalSinceNow: TimeInterval) 현재 시각으로 부터 입력한 초 이후의 시점을 나타낸다. init(timeInterval: TimeInterval, since: Date) 다른 Date()객체로부터 입력한 초 이후의 시점을 나타낸다. init(timeInt..

🔍 Codable이 뭘까? Codable은 Decodable와 Encodable를 준수하는 타입(프로토콜)이다. JSON 데이터를 간편하고 쉽게 인코딩 & 디코딩 할 수 있게 해준다. typealias Codable = Decodable & Encodable 구조체, 클래스, 열거형 모두 Codable을 채택할 수 있다. 먼저 JSON을 인코딩 및 디코딩을 하는데 이용할 타입을 만들어주고 Codable를 채택하자. struct Person: Codable { // Codable 프로토콜 채택 var name: String var age: Int } 👉🏻 JSON 만들기 (Encoding) JSONEncoder를 선언한다. JSONEncoder의 encode메소드를 사용하여 인스턴스를 Data타입으로 만든..

🔍 Swift는 메모리 관리를 어떻게 할까? ARC(Automatic Reference Counting)를 사용한다. 🔍 RC(Referenc Count)란 무엇인가? 인스턴스를 현재 누가 가르키고 있느냐 없느냐(참조하냐 안하냐)를 숫자로 표현한 것. 참조 계산 시점: Complie Time에 언제 참조되고 해제되는지 결정되어 런타임 때 그대로 실행된다. 장점: 개발자가 참조 해제 시점을 파악할 수 있고, RunTime 시점에 추가 리소스가 발생하지 않는다. 단점: 순환 참조가 발생 시 영구적으로 메모리가 해제되지 않을 수 있다. Objective-C는 MRC(직접 할당/해제)를 사용했었다. 🔍 RC는 어떤 기준으로 숫자를 셀까? Count Up : 인스턴스의 주소값을 변수에 할당할 때 인스턴스 생성(새..