일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IOS
- 고차함수
- protocol
- calendar
- viewlifecycle
- Switch
- SWIFTUI
- ScrollView
- Refresh
- escaping
- SWIFT
- Observer
- singleton
- list
- NotificationCenter
- array
- mvvm
- error
- apns
- PushNotification
- 화면전환
- http
- self
- 회고
- uikit
- Git
- 글또
- segue
- class
- struct
- Today
- Total
목록IOS (44)
seong_hye, the developer
확장(Extension)이란?기존 클래스, 구조체, 열거형 타입에 새로운 Property, Method, Initializer 등을 추가하는 것으로,원본 타입(소스 코드)에 접근하지 못하는 타입들도 확장해서 사용할 수 있음extension이란 키워드를 사용하여 확장함 사용하는 이유? 원본 소스 코드에 대한 액세스 권한이없는 유형을 확장하는 기능이 포함 (소급-모델링 retroactive modeling)예) Int, String, Double 등 애플이 미리 만들어 놓은 타입에 확장도 가능[ Struct에선 self를 사용할 때 mutating 키워드 필요 ]class Person { var id = 0 var name = "이름" var email = "1234@gmail.com" ..

📘 KingfisherSwift에서 널리 사용되는 이미지 다운로드 및 캐싱 라이브러리특히 URL 기반 이미지 로딩을 간단하게 처리할 수 있고.내부적으로 강력한 메모리/디스크 캐싱, 다운로드 관리, 프리페치, 리사이징, 리사이클링 등을 제공 Kingfisher = Swift에서 이미지 URL을 비동기 로딩 + 캐싱까지 한 번에 해주는 라이브러리 🔹 주요 기능기능설명URL 이미지 다운로드imageView.kf.setImage(with: URL) 한 줄로 가능메모리 + 디스크 캐싱자동으로 처리 (옵션 조정 가능)SwiftUI 지원.kfImage 뷰로 간편하게 사용 가능이미지 가공리사이징, 블러, 라운딩, 필터 등 적용 가능프리페칭다가올 이미지 미리 다운로드재사용 최적화셀 재사용 상황에서 매우 효율적프로그레..

객체를 만들기 위해 가장 먼저 필요로 하는 것이 있다.가진 속성을 초기화를 필요로 하기에 생성자를 가장 먼저 필요로 하게된다. 그렇다면 생성자란 무엇일까?생성자는 클래스, 구조체, 열거형에서 인스턴스를 준비하기 위한 과정으로 인스턴스의 프로퍼티들마다 초기값을 설정해주고새 인스턴스를 사용하기 전에 필요한 설정과 초기화를 수행하는 과정을 말한다. 각각의 타입에서 새로운 인스턴스를 만들 수 있는 특수한 메서드와 같은 역할을 하는 생성자를 정의하여 사용할 수 있다.생성자의 가장 중요한 역할은 새로운 인스턴스가 처음 사용되기 전에 올바르게 초기화되는 것을 보장하는 것이다.모든 생성자가 동일하지는 않다.특히, 구조체와 클래스의 생성자에는 차이가 있다.표를 통해 간단히 정리하고 내용을 정리해볼까 한다. 구분구조체(S..

📘 Swift) WidgetKit홈화면이나 잠금화면에서 확인 가능한 위젯을 어떻게 만들 수 있는지 어떤 프레임워크를 사용하는지 알아보자 🔹 WidgetKit이란?iOS 14 이상에서 도입된 홈 화면/잠금 화면 위젯을 만들 수 있게 해주는 프레임워크SwiftUI 기반으로 앱의 주요 정보를 작고 빠르게 확인할 수 있는 인터페이스를 제공함🔹 WidgetKit의 기본 개념구성 요소설명WidgetKit 프레임워크위젯을 만들기 위한 핵심 프레임워크Widget Extension앱과는 별개의 실행 단위 (독립적인 타겟)Timeline위젯이 보여줄 데이터를 시간 기반으로 정의TimelineEntry특정 시간에 표시될 데이터 단위TimelineProviderTimeline을 생성하고 관리하는 객체WidgetConfi..
swif에는 저희가 인지하지 못하고 사용하고 있는 여러 프로그래밍 기술들이 있죠오늘은 그 중에서 COW(Copy-On-Wirte)에 대해 알아보려고 합니다. COW(Copy-On-Write)컴퓨터에서 복사할 때 값을 복사해서 담는다 하더라도,실제 값이 바뀌기 전까지는 그냥 하나의 메모리 값을 공유해서 사용원본이나 복사본에서 수정이 일어나면 그 때 값을 복사하는 것 중요한 이유? 값을 사용하는 방법 중 하나인 값 타입은 새로운 변수를 할당하거나 파라미터로 전달될 때 값 복사가 일어나는 것을 의미하지만 이러한 복사 작업은 상당한 시간이 걸리므로 이런 작업을 최적화 하기 위한 기술이 COW이다. 사용 용도메모리 공간이 큰 데이터를 다룰 경우수정이 없는데 복사를 한다는 것은 메모리 낭비가 될 수 있음실제 ..
📘Swift) Background Execution어떤 경우 앱이 백그라운드 상태로 들어가도 내용이 진행되고 상태를 받아온다그런 경우는 어떻게 진행되는 걸까?🔹 백그라운드 실행 ( Background Execution )앱이 화면에 보이지 않더라도 작업을 계속 수행하거나 완료할 수 있도록 하는 기능iOS는 리소스 절약을 위해 앱이 백그라운드로 가면 대부분의 실행을 중지시키므로,특정 조건과 방식에 따라 백그라운드에서도 작업을 지속할 수 있도록 해야 함🔹 iOS에서 백그라운드 실행 가능한 주요 케이스iOS는 백그라운드 작업을 허용하는 제한된 기능만 공식적으로 지원함유형설명백그라운드 오디오음악 / 음성 등 재생 유지백그라운드 위치 추적GPS나 위치 업데이트 지속VolP인터넷 전화 대기 (iOS 13 이후..
📘 Swift : NotificationCenter 🔹 NotificationCenter 란?iOS에서 컴포넌트 간 메시지를 전달하는 이벤트 브로드캐스팅 시스템이다.~> 앱 내부에서 **누군가 어떤 일을 했음을 여러 객체에 알려줄 수 있는 구조**를 제공함Swift에서 ViewController나 Model끼리 의존성없이 통신할 수 있게 해주는 중요한 도구 객체간의 직접 참조 없이도 메시지를 전달할 수 있게 해주는 옵저버 패턴 구현체- 발신자(Post) : 어떤 이벤트가 발생했음을 알림- 수신자(Observer) : 특정 알림을 구독하고, 발생 시 자동으로 호출됨 🔹 사용 구조✅ UIKit의 경우// 1. 알림 이름 정의extension Notification.Name { static let dat..
고차함수에 대해 공부하고 사용하다가 보니for문을 사용해도 되는 걸 고차함수로 사용하는 게 이득인가? 라는 생각을 하게 되었다.https://programming-seonghye.tistory.com/25 Swift)문법 정리 - 고차함수📘 Swift 문법 정리: 고차함수Swift 문법 중 고차함수에 대해 정리한 글입니다. 🔹 1. 문법 설명Swift에서 매우 핵심적인 개념으로 컬렉션 처리 (Array, Set, Dictionary) 에 자주 사용됩니다.다른 함수를programming-seonghye.tistory.com 그런 이유로 한 번 알아보자.📘 고차함수 사용이 메모리 측면에서 이득인가?🔹 결론 먼저 요약Swift에서 고차함수(map, filter, reduce 등)는 가독성과 표현력은 ..