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

📘List Drop DownList 내 항목을 눌렀을 때 드롭다운처럼 하위 항목이 펼쳐지는 UIExpandable List 또는 Accordion List라고 부름각 항목의 펼침 상태를 추적하는 플래그가 필요함🔹항목 모델 정의struct DataModel { let iconName: String let title: String var destination: AnyView}struct DropdownItem: Identifiable { let id = UUID() let title: TitleModel let details: [DataModel] var isExpanded: Bool = false}🔹메인 뷰 - List를 활용한 DropDown@Binding va..
📘Swift - 디자인 패턴반복되는 문제를 재사용 가능한 구조로 해결해주는 아키텍처적 가이드Swift에서 사용되는 디자인 패턴은 소프트웨어 설계의 모범 사례iOS 앱 개발에서 특히 많이 쓰이며, Swift 언어의 특성과 잘 맞도록 함수형/구조체 기반으로도 진화해 옴 🔹디자인 패턴의 분류디자인 패턴은 일반적으로 다음 3가지로 분류됨분류설명생성 (Creational)객체 생성과 관련된 패턴구조 (Structural)클래스 / 객체의 조합 구조를 효율적으로 구성행위 (Behavioral)객체 간의 커뮤니케이션 패턴🔹Swift에서 자주 사용되는 디자인 패턴 🔍 싱글톤 패턴 (Singletion)오직 하나의 인스턴스만 존재해야 할 때 사용 (ex. 네트워크 매니저, DB 등)class NetworkMan..
📘Swift 구조적 특징Swift는 안전성, 성능, 현대적 문법을 모두 고려하여 설계된 언어로 다른 언어들과 구별되는 구조적 특징(structural characteristics)이 아주 뚜렷함 🔹정적 타입(Static Typing) 기반 언어변수의 타입이 컴파일 시점에 결정됨타입 추론도 가능하지만 실제로는 정적 타입 시스템let a: Int = 3 // type: Intlet one = 1 // type: Intlet a = "A" // type: Stringlet b: Character = "B" // type: Character ➡️ 장점컴파일 시 오류를 빨리 찾을 수 있음성능 최적화에 유리🔹값 타입(Value Type) 중심 구조struct, enum 등 값 타입(value ..
코딩은 개인으로 진행되기도 하지만 많은 사람들이 같이 진행되는 것이다 보니 스타일이 필요하게 됨 📘 Swift Style Swift 언어를 가독성 좋고 일관성 있게 작성하기 위한 규칙과 권장 방식물론 법이 아닌 스타일이기에 변할 수 있다는 점 참고 🔍 Swift Style 핵심 요약주제스타일 원칙네이밍명확하고 간결하게, camelCase 사용들여쓰기스페이스 4칸 (보통 XCode 기본은 4)줄바꿈중괄호 {}는 다음 줄에 작성함수 설계읽었을 때 자연어처럼 읽히도록옵셔널 처리안전하게, 명확하게모듈 분리타입, 기능 단위로 적절히 나눔🔹 Naming메소드 및 변수는 소문자로 시작하지만, 모듈단위의 클래스명과 상수는 대문자로 함 (= camelCase) 명확하고 간결하게 줄임말을 최소화하여 작성함let ..
코드를 작성하다보면 동기와 비동기에 대해 알게 되는데오늘은 이 내용을 한 번 정리해보려 합니다. 동기 & 비동기 = 프로그래밍에서 작업의 실행 흐름과 시간 제어 방식에 대한 개념📘 동기(Synchronous)한 작업이 끝나야 다음 작업을 실행하는 방식작업이 완료될 때까지 기다렸다가 다음 명령을 실행하는 순차적 흐름 🔹예시 코드func loadData() -> String { //ex. 오래 걸리는 작업 return "데이터 로딩 완료"}let result = loadData() //📌 작업이 끝날 때까지 여기서 멈춤print(result)- loadData() 함수가 완료될 때까지 다음 줄로 넘어가지 않음- 사용자 경험 (UX) 측면에서 UI가 멈추는 것처럼 보일 수 있음 🔹핵심 특징항목..

📘 UIActivityViewControlleriOS에서 공유 시트 (Share Sheet)를 띄우기 위한 기본 UIKit 클래스ex. 이미지, 텍스트, URL, 파일 등을 메시지, 메일, 에어드롭, 기타 앱으로 공유하고 싶을 때 사용 🔹기본 예시class ViewController: UIViewController { @IBAction func shareButtonTapped(_ sender: Any) { let textToShare = "공유할 텍스트입니다." let urlToShare = URL(string: "https://sample.com") let activityVC = UIActivityViewController(activityItems: [textToSh..

📘 SnapKitiOS 앱 개발에서 사용하는 Auto Layout을 코드로 쉽게 작성할 수 있게 해주는 Swift 전용 DSL(도메인 특화 언어) 라이브러리 SnapKit = NsLayoutConstraint를 간결하고 읽기 쉬운 코드로 작성할 수 있도록 도와주는 Swift 라이브러리 🔹 사용 방법 - XCode > File > Add Packages Dependencies...URL : https://github.com/SnapKit/SnapKit - CocoaPods로 패키지 다운로드pod 'SnapKit'🔹 예제import SnapKitlet box = UIView()vew.addSubview(box)box.snp.makeConstraints { make in make.top.equalToS..
Swift 공부를 하다보면 나오는 Library, Framework. Package에 대해 좀 더 자세히 알아보려고 한다. 📁 한 줄 정리모두 "코드를 재사용 가능하게 만든 단위"이지만 약간씩 의미와 사용방식이 다름용어한 줄 설명Library함수/ 클래스를 모다운 재사용 가능한 코드 집합Framework실행, 구조, 상호작용까지 포함된 큰 단위의 라이브러리Package하나 이상의 라이브러리/모듈을 포함한 배포 가능한 단위 (SwiftPM 기준)📘Library (라이브러리)특정 기능을 제공하는 코드 묶음, 개발자가 호출해서 사용 - 보통 함수나 클래스 집합- 앱이 직접 라이브러리를 "사용자"로써 호출 🔹 핵심 특징항목설명구성함수, 클래스, 구조체, 프로토콜 등재사용성여러 앱에서 동일한 기능을 공유수동..