일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- IOS
- singleton
- apns
- struct
- protocol
- SWIFTUI
- Observer
- self
- 글또
- PushNotification
- uikit
- http
- Animation
- ScrollView
- segue
- list
- NotificationCenter
- Refresh
- error
- mvvm
- SWIFT
- array
- 고차함수
- viewlifecycle
- escaping
- class
- Git
- Switch
- calendar
- 화면전환
- Today
- Total
목록SWIFT (66)
seong_hye, the developer
swif에는 저희가 인지하지 못하고 사용하고 있는 여러 프로그래밍 기술들이 있죠오늘은 그 중에서 COW(Copy-On-Wirte)에 대해 알아보려고 합니다. COW(Copy-On-Write)컴퓨터에서 복사할 때 값을 복사해서 담는다 하더라도,실제 값이 바뀌기 전까지는 그냥 하나의 메모리 값을 공유해서 사용원본이나 복사본에서 수정이 일어나면 그 때 값을 복사하는 것 중요한 이유? 값을 사용하는 방법 중 하나인 값 타입은 새로운 변수를 할당하거나 파라미터로 전달될 때 값 복사가 일어나는 것을 의미하지만 이러한 복사 작업은 상당한 시간이 걸리므로 이런 작업을 최적화 하기 위한 기술이 COW이다. 사용 용도메모리 공간이 큰 데이터를 다룰 경우수정이 없는데 복사를 한다는 것은 메모리 낭비가 될 수 있음실제 ..
📘Swift) Background Execution어떤 경우 앱이 백그라운드 상태로 들어가도 내용이 진행되고 상태를 받아온다그런 경우는 어떻게 진행되는 걸까?🔹 백그라운드 실행 ( Background Execution )앱이 화면에 보이지 않더라도 작업을 계속 수행하거나 완료할 수 있도록 하는 기능iOS는 리소스 절약을 위해 앱이 백그라운드로 가면 대부분의 실행을 중지시키므로,특정 조건과 방식에 따라 백그라운드에서도 작업을 지속할 수 있도록 해야 함🔹 iOS에서 백그라운드 실행 가능한 주요 케이스iOS는 백그라운드 작업을 허용하는 제한된 기능만 공식적으로 지원함유형설명백그라운드 오디오음악 / 음성 등 재생 유지백그라운드 위치 추적GPS나 위치 업데이트 지속VolP인터넷 전화 대기 (iOS 13 이후..
📘 Swift) DispatchSoureTimer알람 앱을 사용하다보면 백그라운드에 있어도 타이머가 잘 진행되는 모습을 볼 수 있다이번에는 그렇게 백그라운드에서 실행될 수 있는 타이머에 대해 알아보자 🔹 문법 설명 GCD(Grand Central Dispatch) 기반으로 정밀하고 효율적인 타이머를 만들 수 있게 해주는 객체Timer보다 더 낮은 수준에서 제어 가능 백그라운드에서 안정적으로 동작반복주기, 시작 시점, 허용 오차 등을 세밀하게 조절 가능🔹 주요 구성 요소구성설명DispatchSource.makeTimerSource(queue:)타이머 생성, 큐는 실행할 대상 지정schedule(deadline:repeating:leeway:)시작 시점, 반복 주기, 허용 오차setEventHandle..
고차함수에 대해 공부하고 사용하다가 보니for문을 사용해도 되는 걸 고차함수로 사용하는 게 이득인가? 라는 생각을 하게 되었다.https://programming-seonghye.tistory.com/25 Swift)문법 정리 - 고차함수📘 Swift 문법 정리: 고차함수Swift 문법 중 고차함수에 대해 정리한 글입니다. 🔹 1. 문법 설명Swift에서 매우 핵심적인 개념으로 컬렉션 처리 (Array, Set, Dictionary) 에 자주 사용됩니다.다른 함수를programming-seonghye.tistory.com 그런 이유로 한 번 알아보자.📘 고차함수 사용이 메모리 측면에서 이득인가?🔹 결론 먼저 요약Swift에서 고차함수(map, filter, reduce 등)는 가독성과 표현력은 ..
📘 Swift 문법 정리: Class vs Structclass와 struct는 둘 다 앱을 만들 때 가장 처음 보게 되는 키워드라고 할 수 있다.두 키워드의 공통점과 차이점에 대해 한 번 알아보자 🔹 기본 구조class와 struct 모두 데이터를 정의하는 사용자 정의 타입class Animal { var species: String = "" func sound() { print("소리를 냅니다") }}struct Person { var name: String func greet() { print("안녕하세요 \(name)님") }}🔹 공통점프로퍼티(변수), 메서드(함수), 초기화(init), 확장(extension) 프로토콜 채택 등 가능🔹 차이점항목str..
싱글톤 패턴이란?메모리상에 유일하게 1개만 존재하는 객체 설계하는 패턴한번 생성된 이후에는 앱이 종료될 때까지, 유일한 객체로 메모리에 상주static let 변수에 접근시 유일한 객체가 생성되고 데이터가 메모리에 lazy 하게 올라감외부에서 또다른 새로운 객체 생성을 금지하고 싶은 경우, private init 메서드로 선언(선택적) 싱글톤 패턴이 필요한 이유?앱 구현 시에 유일하게 한개만 필요한 객체가 필요한 경우(특정한 유일한 데이터 / 관리 객체가 필요한 경우) class UIbirthday { // 싱글톤 패턴 static let singleton = UIbirthday() // 저장 속성 초기화 var screenCount: Int = 1 var screenBrigh..

📘 .gitignoreGit을 사용하다 보면 계속 사용하지 않는 파일이 변경되었다고 git commit 하는 일이 생기곤 한다그럴 때 사용할 수 있는 iOS에서의 .gitignore에 대해 알아보자 🔹 gitignore 란?Git에서 버전 관리에 포함하지 않을 파일이나 폴더를 지정할 수 있도록 해주는 매우 중요한 설정 텍스트 파일개발 프로젝트에서 불필요한 파일, 민감한 정보, 빌드 산출물 등이 Git에 올라가지 않도록 막는 역할을 함 📁 파일명은 항상 .gitignore 🔹 생성 방법Xcode에서 Git 사용을 선택했다고 .gitignore이 자동으로 생성되지 않습니다.=> 직접 추가해야 합니다. 1. 터미널에서 직접 생성touch .gitignore 이후 원하는 편집기를 열어 편집하거나// 터..

📘 Swift 기능 정리: 코드 스니펫(Code Snippet)코드 스니펫은 자주 사용하는 코드 블록을 저장하고 재사용할 수 있게 해주는 기능으로Xcode에서 개발 시간을 단축하고 실수를 줄여주는 생산성 도구이다.이에 대해 조금 더 자세히 알아보자 🔹 코드 스니펫이란?반복적으로 사용하는 코드 패턴(구문, 템플릿)을 저장해두고필요할 때 빠르게 불러와 자동 완성으로 삽입할 수 있는 기능 🔹 접근 방법1. 상단 바에 있는 + 버튼을 클릭해서 접근 2. cmd + shift + L 을 눌러 띄우는 방법 3. 도구 탭에서 Menu -> Editor -> Create Code Snippet 선택하는 방법 🔹 생성 방법XCode에서 스니펫으로 저장하고 싶은 코드를 선택해 드래그 후 우클릭Create Code..