분류 전체보기(232)
-
[SwiftUI] SwiftUI의 View는 왜 Struct (Value Type)로 설계된 것일까?
이 글을 읽기 전에 알고 있어야 하는 개념, 즉 모른다면 참고해서 보면 좋을 글을 아래에 첨부합니다😊 [Swift] 구조체(Struct)와 클래스(Class) 완전 정복하기: 기본 개념부터 프로퍼티, 인스턴스, 상속까지이번 글에서는 구조체(Struct)와 클래스(Class)에 대해 아주 자세하게 다뤄보려 한다. 처음 Swift를 배우는 입장도 아닌데, 이제 와서 이 내용을 포스팅하는 이유가 뭐냐고 물어본다면... 음... 몇 번mini-min-dev.tistory.com [iOS] 내가 보려고 정리하는 개발 용어 사전 (3) - 명령형 프로그래밍(Imperative Programming) vs 선언형현재 이 글을 쓰고 있는 2024년 기준, iOS 개발을 배우고 싶다고 마음을 먹게 되면 선택할 수 있는..
2025.05.07 -
[Apple Developer Academy @ POSTECH] #4 - 그래서 나는 무엇을 배웠지?
🍎 Apple Developer Academy @ POSTECH 4기 : Challenge 2 회고 (2025.04.07 - 04.25) [Apple Developer Academy @ POSTECH] #3 - 처음 경험해본 새로운 세계, CBL (Challenge Based Learning)🍎 Apple Developer Academy @ POSTECH 4기 : Challenge 1 회고 (2025.03.17 - 03.28) [Apple Developer Academy @ POSTECH] #2 - Prelude, 긴 여정을 시작하기 위한🍎 Apple Developer Academy @ POSTECH 4기 : Prelude 회고 (2025.03.10 - 03.14)드mini-min-dev.tisto..
2025.05.06 -
[Swift] Swift Equatable 완전 정복하기
Equatable | Apple Developer DocumentationA type that can be compared for value equality.developer.apple.com Equatable을 언제 사용했더라?아주 예전에 작성했던 글을 가지고 왔습니다.[Swift] 제네릭 (Generic) 완전 정복하기라는 글에서 제네릭 타입에 특정 조건을 걸기 위한 기능, 제네릭 타입 제약 (Generic Type Constraints)을 설명하며예시로 타입이 Equatable 프로토콜을 준수하도록 제약을 거는 코드를 소개한 적이 있었는데요.이 글에서는 Equatable이 "타입끼리 비교 연산을 하기 위해 = 즉, 비교 연산자를 사용하기 위해 필수적으로 채택해야 하는 프로토콜이다"까지만 소개하고 넘..
2025.04.28 -
[iOS] 내가 보려고 정리하는 SwiftData의 모든 것 (feat. CRUD)
오늘 글은 WWDC23에서 처음 공개된 SwiftData에 대해 소개하고, 앱에 Apple의 SwiftData Framework를 사용해 로컬 데이터 저장공간에 CRUD 기능을 구현하는 방식을 설명하는 글을 준비했습니다!*잠깐! CRUD 기능이란?: 앱에서 데이터를 관리할 때 사용하는 기본 연산, Create (생성)-Read (읽기)-Update (수정)-Delete (삭제)의 약어입니다. 앱에서 화면 (View)을 그리기 위해서는 데이터 (숫자, 문자, 문자열 등)가 필수적으로 필요한데, 이 데이터를 다루는 네 가지 핵심 방법이라고 생각하면 됩니다!**잠깐! 로컬 데이터 저장이란? : 데이터를 사용자 기기 (iOS 애플리케이션이면, iPhone의 내부 저장소 = 메모리가 해당되겠죠?) 저장공간에 직접..
2025.04.18 -
[iOS] Swift의 UI 작업은 반드시 Main Thread에서 동작해야한다?
Swift의 UI 작업은 Main Thread에서 동작해야한다!아요 개발하다가 한 번쯤 아래와 같은 보라색 경고를 보신 적이 있을 겁니다.해당 상황의 경우에는,"오직 메인 스레드 (main thread only)에서만 사용할 수 있는 UIKit의 속성"을 "다른 스레드에서 접근"했기 때문에 발생했습니다.꼭 아래의 UIViewController 속성이 아니더라도,UIView, UINavigationController 등 UI, 즉 화면을 담당하는 객체 관련 코드가 메인 스레드가 아닌 다른 스레드 접근을 시도할 경우에화면과 동일한 보라색 스레드 경고를 표출하게 될 겁니다.UIKit 공식문서를 들어가봐도 Important 칸에 별도로 강조하면서 설명하고 있습니다."UIKit 클래스는 오직 메인 스레드 혹은 메..
2025.04.07