728x90

전체 글 350

에그타임 #24 - 위젯 기능 추가

👨🏻‍💻 오늘의 작업[ 1. 위젯 디자인 구현 ] 지난 다이나믹 아일랜드 구현에 이어 이번에는 위젯을 구현해 보려고 한다.우선 위젯은 2가지의 디자인이 있다. 하루의 반숙 횟수와 완숙 횟수를 보여주는 위젯이 있고,이번주의 반숙 or 완숙 여부를 보여주는 위젯이 있다. TodayEggWidget.swift//// TodayEggWidget.swift// EggTimerWidget//// "오늘의 에그타임!" - 오늘 반숙/완숙 완료 횟수를 보여주는 작은 위젯.//import WidgetKitimport SwiftUIstruct TodayEggWidget: Widget { let kind = "TodayEggWidget" var body: some WidgetConfiguration..

[Swift] 데이터를 저장하는 대표적인 4가지 방법

👨🏻‍💻 데이터를 저장하는 대표적인 4가지 방법[ 1. UserDefaults ] 특징 : Key-Value 형태로 간단한 데이터를 저장. 내부적으로 plist 파일에 저장됨저장 가능한 데이터 : Bool, Int, String, Array, Dictionary 등 가벼운 타입용량 : 작은 데이터에 적합 (공식적으로 큰 데이터 저장은 권장 안 함)보안 : 암호화 안 됨 → 민감 정보 저장 금지주로 사용하는 곳 : 앱 설정값, 로그인 여부 플래그, 다크모드 여부, 최근 검색어, 튜토리얼 표시 여부 등 [ 2. Keychain ]특징 : iOS의 보안 저장소. 암호화되어 저장됨저장 가능한 데이터 : 소량의 민감한 데이터 (Data 타입으로 변환 필요)용량 : 매우 작은 데이터용보안 : 강력함 (기기..

iOS/Swift 2026.09.15

[Swift] Class와 Struct의 차이점

👨🏻‍💻 Class와 Struct의 차이점[ 1. 가장 근본적인 차이 ] ClassStruct타입참조 타입 (Reference Type)값 타입 (Value Type)복사 시같은 인스턴스를 가리킴 (주소 복사)완전히 새로운 복사본 생성저장 위치힙 (Heap)스택 (Stack) (대부분의 경우) // Class - 참조 타입class Dog { var name = "초코"}let dog1 = Dog()let dog2 = dog1dog2.name = "바둑이"print(dog1.name) // "바둑이" ← 같이 바뀜 (같은 인스턴스를 가리킴)// Struct - 값 타입struct Cat { var name = "나비"}var cat1 = Cat()var cat2 = cat1cat2.n..

iOS/Swift 2026.09.10

CS 정리 - 배열과 연결리스트

👨🏻‍💻 배열과 연결리스트[ 1. 메모리 저장 방식의 차이 ] 가장 근본적인 차이는 데이터가 메모리에 어떻게 저장되는가이다. 배열 (Array)메모리 상에 연속된 공간에 데이터를 저장한다.각 요소는 인덱스를 통해 접근하며, 첫 번째 요소의 주소 + (인덱스 X 자료형 크기)로 위치를 바로 계산할 수 있다.[10][20][30][40][50] 0 1 2 3 4 ← 인덱스 연결리스트 (Linked List)각 노드가 데이터 + 다음 노드를 가리키는 포인터(참조)로 구성된다.메모리 상에서 노드들이 흩어져 있어도 상관없이, 포인터로 서로 연결되어 있다.[10|●] → [20|●] → [30|●] → [40|●] → [50|null] 이 근본적인 차이 때문에 아래에서 다룰 모든 성능/사용..

에그타임 #23 - Widget Extension 타겟 추가 및 다이나믹 아일랜드 기능 구현

👨🏻‍💻 오늘의 작업[ 1. 에그타임 프로젝트에 Widget Extension 타겟 추가 ] 이번에 26.1.0 버전의 업데이트 내용으로 다이나믹 아일랜드와 위젯 기능을 추가하려고 한다.두 가지 기능을 추가하기 위해서는 프로젝트에 Widget Extension 타겟을 추가해야 한다.먼저 File → New → Target → Widget Extension 으로 위젯 익스텐션 타겟을 추가했다.생성 시 "Include Live Activity"가 체크된 상태로 만들어짐 → 그래서 Live Activity 파일까지 같이 생성됨 위젯 익스텐션을 추가하게 되면 위의 사진과 같이 파일들이 자동으로 생성된다. 각 파일에 대한 역할 EggTimerWidget 폴더1. EggTimerWidget : 홈 화면 위..

728x90