일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 온라인 저지
- BFS
- 공부
- Python
- Autolayout
- 프로그래머스
- 파이썬 풀이
- UIKit
- 파이썬
- 정렬
- 알고리즘 공부
- Android
- iOS개발
- greedy algorithm
- 안드로이드 공부
- Algorithm
- 앱개발
- ios
- 백준온라인저지
- swift
- Clean Architecture
- 그리디 알고리즘
- 알고리즘
- dfs
- Kotlin
- 오토레이아웃
- Til
- error
- Swift공부
- SwiftUI
- Today
- Total
목록swift (35)
Tori의 개발 공부
프로젝트를 진행하면서 FCM을 이용한 푸시 알림을 구현하게 되었다. 고민했던 부분을 바탕으로 구현 내용을 정리해 참고로 프로젝트는 백엔드 개발 없이 파이어베이스의 firestore 서비스를 이용했다. 또한 파이어베이스 등록 및 인증키 등록 과정은 다른 블로그들에 자세히 나와있어 코드 구현 부분 중심으로 작성할 예정이다. 원격 알림 등록, FCM 토큰 얻기 Notification 서비스 함수에 다음과 같은 등록 함수를 작성하고 func registerRemoteNotification() { if #available(iOS 10.0, *) { let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.c..
두 가지 방식의 사용법보다는 차이점에 초점을 맞춰 공부를 해보았다. (사용법은 따로 올릴 예정) Delegate ? Notification? 그게 뭔데? Delegates와 Notification 방식은 독립적인 기능을 하는 객체끼리 소통을 하기 위해 사용된다. 즉 A라는 뷰컨트롤러와 B라는 뷰컨트롤러가 있을 때, A에서 B로 알림을 보내 특정 동작을 실행하고 싶을 때 사용하는 것이다. Delegate 패턴 Delegate 패턴이란? delegate = 위임 → 한 객체가 자신의 책임을 다른 객체에게 위임 시키는 디자인 패턴 지정된 객체가 해야하는 메서드들의 원형을 프로토콜 형태로 정해놓는다. 위임을 시키는 객체에서 해당 프로토콜형식의 델리게이트 프로퍼티를 가지고 있고, 프로퍼티 내부 함수를 적절한 위치..

결론적으로 클로저에서 weak self를 사용하지 않아도 되는 경우는 다음과 같은 두 가지가 있다. 1. non-escaping 클로저인 경우 2. DispatchQueue.main.asyncAfter 함수를 사용할 경우 escaping 클로저와 non-escaping 클로저 함수 파라미터로 전달된 클로저를 함수 실행이 종료된 후 실행되는 것을 함수를 탈출(escape)한다고 한다. 즉 escaping클로저는 파라미터로 전달된 클로저가 탈출하여 함수 종료 후에 실행되는 클로저를 의미한다. escaping non-escaping 실행 시점 함수 종료 후 함수 내에서 코드 호출 즉시 외부 저장 여부 가능 불가능 두 함수의 차이는 외부 저장 여부에 대해서도 다르다. non - escaping 클로저는 함수 외..

메모리 공간 구조 알아보기 프로그램을 실행하게 되면 운영체제는 메모리에 프로그램을 위한 공간을 할당함 할당된 메모리 공간은 아래와 같이 코드영역, 데이터 영역, 힙 영역, 스택 영역으로 나누어져 있음 그림에 써져 있는 설명처럼 코드 영역: 실행한 프로그램의 코드를 기계어로 변환하여 저장하고 있음 (컴파일 타임 시 결정) 데이터 영역: 전역변수, static 변수 저장 (시작과 동시에 할당, 프로그램이 종료되어야 메모리 해제) 힙 영역 : 프로그래머가 동적으로 할당/해제하는 메모리 영역 (런타임 시 결정) 스택 영역: 지역 변수, 매개 변수 등이 저장되고 해당 변수를 사용하는 함수 종료 시 메모리 해제됨 (컴파일 타임 시 결정) ARC란? ARC란? Automatic Reference Counting의 약..