일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 원격 푸시
- DispatchQueue
- weak
- 동시성프로그래밍
- SWiFT
- Choosing Between Structures and Classes
- OperationQueue
- Remot Push
- RunLoop
- AppTransportSecurity
- TableView
- entrypoint
- WWDC16
- viewcontroller
- ios
- 후행 클로저
- CoreLocation
- uikit
- 연산 프로퍼티
- for-in
- Understanding Swift Performance
- tableViewCell
- IBOutletCollection
- UIButton
- IBOutlet
- userdefaults
- property wrapper
- firebase
- 트레일링 클로저
- 진입점
- Today
- Total
목록SWiFT (6)
iOS 공부하는 감자
순서 Allocation Reference Counting Method Dispatch Protocol Types Generic Code Understanding Swift Performance Swift의 추상화 메커니즘이 성능에 미치는 영향을 이해하기 위한 가장 좋은 방법은 기본 구현을 이해하는 것. 개발자는 추상화를 구축하고 추상화 메커니즘을 선택할 때, 다음의 3가지를 고려해야 한다. 인스턴스가 Stack에 할당되는지, Heap에 할당되는지? (Allocation) 인스턴스를 전달할 때, 얼마나 많은 Reference Counting Overhead가 발생하는지? 인스턴스 메서드를 호출할 때, Method Dispatch 방식이 Static인지 Dynamic인지? 보다 빠른 Swift 코드를 작성..
객체 vs 인스턴스 다른 프로그래밍 언어들은 Swift와 다르게 구조체의 기능이 제한적이다. (메서드를 사용하지 못함) 그래서 클래스의 인스턴스를 많이 사용하고, 클래스의 인스턴스를 전통적으로 객체라고 부른다. 하지만 Swift에서 구조체는 Class와 기능이 흡사하기 때문에 객체보단 Class와 Struct를 모두 표현할 수 있는 인스턴스라는 표현을 사용한다. Structures and Classes An instance of a class is traditionally known as an object. However, Swift structures and classes are much closer in functionality than in other languages, and much of thi..
순서동시성 프로그래밍Operation과 비교해볼 GCD 기능OperationOperationQueueQosBlock Operation비동기 함수를 호출하는 Operation종속성작업 취소 동시성 프로그래밍분산 처리가 필요한 작업들을 여러 스레드로 분산시켜서 처리하는 프로그래밍 방식Swift에서는 동시성 프로그래밍 구현을 위한 2가지 방법을 제공한다.GCD (DispatchQueue)Operation - OperationQueue자바나 C언어같은 경우, 개발자가 동시성 프로그래밍을 구현하기 위해 직접 스레드를 생성하고 수행할 작업을 지정해야 한다.Swift에서는 동시적으로 사용할 스레드의 개수를 직접 관리하지 않고, Queue라는 대기행렬로 작업을 전달하면 OS가 알아서 여러 스레드로 분배하여 처리한다.따..
UserDefaults란? iOS 앱에서 데이터를 영구적으로 보관하기 위해서는 다음과 같은 다양한 방법이 있다. 서버 CoreData UserDefaults KeyChain 그중 UserDefaults는 앱이 실행되는 동안(런타임) Key-Value 형태로 데이터를 저장하는 사용자의 기본 데이터베이스에 대한 인터페이스다. UserDefaults에 저장된 데이터는 앱이 종료되더라도 사라지지 않고, 영구적으로 저장된다. 단, UserDefaults의 데이터는 앱 Sandbox에 저장되므로 앱 자체가 삭제된다면 데이터도 같이 사라진다. 따라서 앱의 삭제 유무와 관계없이 데이터를 저장하기 위해서는 앱 내에서 백업/복구 기능을 지원하거나 KeyChain, iCloud 동기화 등의 기능을 추가하여 데이터를 유지시키..
라이브러리 필요한 기능이 있는 코드의 묶음으로, 효율적인 코드 작성을 위해 필요한 곳에서 호출하여 사용할 수 있도록 Class나 Function으로 만들어져 있다. 프로그래밍의 전체적인 흐름 규칙을 따라야하는 프레임워크와 다르게 라이브러리는 개발자가 원할 때 필요에 따라 사용하고 직접 코드를 제어할 수 있다는 차이가 있다. 보통 Github에서 유용한 오픈소스 라이브러리들을 많이 찾을 수 있는데, 구글에 "github swift TextField(기능이 필요한 요소)" 키워드로 검색하면 좋은 자료들이 많이 나온다.! 유용하고, 안정적인 라이브러리를 찾는 방법 1) 대기업 앱의 "오픈소스 라이선스" 리스트를 참고한다. 굵직한(?) 대기업들의 앱에서는 설정창에서 "오픈소스 라이선스"라는곳을 확인할 수 있는데..
iOS에서 생명주기란 앱의 최초 실행과 종료 사이에 발생하는 일련의 이벤트로 구성된다.내부 메커니즘에 의해 각 이벤트 시점마다 함수들이 자동으로 호출되며, 개발자는 각 시점에 필요한 기능을 재정의하여 구현하면 된다. Life Cycle은 크게 두 종류로 구분된다.앱 생명주기ViewController 생명주기 앱 생명주기앱 생명주기는 앱의 전반적인 실행과 종료에 관련된 생명주기를 말한다.(앱이 실행되고, 백그라운드도 진입하고, 다시 실행되고, 종료되는 등의 주기..) iOS 13 발표 전까지는 왼쪽의 사진처럼 AppDelegate에서 앱 생명주기(앱의 실행과 종료)와 UI 요소의 생명주기 (백그라운드 상태 로직 등)을 모두 처리했었지만발표 이후 오른쪽 사진처럼 AppDelegate에 추가로 SceneD..