일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Refresh
- NotificationCenter
- list
- PushNotification
- segue
- apns
- 글또
- ScrollView
- Git
- SWIFT
- class
- struct
- uikit
- Switch
- escaping
- SWIFTUI
- IOS
- self
- 화면전환
- singleton
- protocol
- Animation
- Observer
- 고차함수
- array
- http
- mvvm
- error
- calendar
- viewlifecycle
- Today
- Total
목록SWIFT (65)
seong_hye, the developer
보호되어 있는 글입니다.

📘 APNsApple Push Notification service의 약자iOS, macOS, watchOS, tvOS 앱에 **푸시 알림(Push Notification)**을 전송할 수 있도록Apple이 제공하는 공식 알림 전송 서비스 APNs = Apple 기기에 원격 푸시 알림을 전달하는 중앙 서버 시스템🔹 APNs의 역할"end-to-end"데이터를 송신자(앱 서버)에서 시작하여 수신자(사용자 디바이스)까지 안전하게 전달하는 전체 과정앱 서버가 보낸 메시지를 iPhone, iPad, Mac 등에 안정적이고 보안적으로 전달하는 중간 다리 역할🔹 APNs이 필요한 이유역할설명메시지 전달앱 서버가 직접 디바이스와 통신하지 않고 APNs를 통해 전달보안 유지토큰 기반 인증 및 암호화앱 상태에 상관..
📘 Attribute@attribute는 실제 키워드가 아닌 "속성"을 나타내는 표기 방식즉, @기호로 시작하는 것들을 통틀어 **Swift 속성"컴파일러나 런타임에게 특별한 의미를 부여하는 메타 정보 역할을 함 @attribute = 함수, 타입, 변수 등에 특수한 동작이나 정보를 부여하는 컴파일러 지시자 🔹주요 Swift Attribute 목록과 설명Attribute용도@available특정 OS 버전 이상에서만 사용 가능@discardableResult반환값을 사용하지 않아도 경고 발생 X@objcObjective-C와 상호 운용 (Selector 등)@IBAction, @IBOutlet스토리보드와 연결@StateSiwftUI 상태 변수 (UI를 다시 그림)@Binding부모 뷰로부터 전달받은 ..
UIKit을 사용하기 위해 프로젝트를 만들게 되면만들어져있는 기능들에 대해 알아보려 한다📘 AppDelegateiOS 앱의 생명 주기(lifeCycle)와 시스템 이벤트를 관리하는 핵심 클래스앱이 실행될 때부터 종료되기까지의 흐름을 제어하며,앱 수준의 이벤트(ex_푸시 알림, 백그라운드 진입, 외부 URL 열기 등)를 처리하는 데 사용 AppDelegate = iOS 앱 전체의 실행 상태와 시스템 이벤트를 처리하는 앱 생명 주기 관리자 클래스🔹기본 구조import UIKit@mainclass AppDelegate: UIResponder, UIApplicationDelegate { func application(_ application: UIApplication, didFinishLaunchingWi..

📘 SwiftUI - 화면 맨 위로 올라오기어플을 사용하다보면 스크롤 하다가 버튼을 눌러 화면의 맨 위로 올라오도록 하는 경우를 볼 수 있다해당 경우를 어떻게 구현했는지 정리해보려 한다. 🔹 기본 개념- ScrollViewReader: 뷰에 스크롤 위치 조작 기능을 부여할 수 있음 - .id( id 값 ) : 스크롤 목표 위치에 식별자를 붙임- .scrollTo( id 값 ) : 해당 위치로 스크롤 이동이 가능함🔹List에 버튼을 통해 위로 올리기struct ContentView: View { @State private var showButton = false let items = Array(1...100) var body: some View { ScrollviewR..
확장(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" ..

📘 FirebaseGoogle에서 제공하는 모바일 및 웹 애플리케이션 개발 플랫폼앱 개발에 필요한 다양한 백엔드 기능을 빠르게 구현할 수 있도록 도와줌서버를 직접 구축하지 않고도 인증, 데이터베이스, 알림, 분석 등을 활용할 수 있어 스타트업, 개인 개발자, 프로토타입에 자주 사용됨 Firebase = 서버 없이 앱의 백엔드 기능을 클라우드에서 처리할 수 있게 해주는 플랫폼 🔹 주요 기능기능설명Authentication이메일/ 비밀번호, SNS, Apple, Anonymous 로그인 지원Firestore / Realtime Database클라우드 기반 NoSQL 데이터베이스Cloud Storage이미지 / 동영상 등 파일 저장Cloud Messaging (FCM)푸시 알림 서비스Analytics사용자..
📘 Swift - NSCache이미지를 활용하다보면 메모리가 걱정되게 되는데 이때 사용하게 되는 NSCache에 대해 알아보자 🔹NSCache란? key - value 형태의 메모리 캐시를 쉽게 구현할 수 있도록 제공되는 클래스주로 이미지나 계산 비용이 큰 데이터를 임시로 저장하고 자동으로 제거하여 성능 개선.여러 스레드에서 동시에 접근해도 안전(Thread - safe)🔹기본 사용 예제let cache = NSCache()// 캐시에 저장cache.setObject(image, forKey: "example" as NSString)//캐시에서 가져오기if let cachedImage = cache.object(forKey: "example") { imageView.image = cachedImag..