post-thumbnail

swift UI로 모달까지 만들어봄.

SwiftUI로 앱을 만들다 보면, 리스트에서 아이템을 선택하면 상세 화면이 뜨는 패턴을 자주 구현하게 된다.이번에는 FrameworkGridView, FrameworkGridViewModel, FrameworkDetailView 세 가지를 기준으로 .sheet가 어떻

2025년 7월 24일
·
0개의 댓글
·

@ViewBuilder

SwiftUI로 UI를 작성하다 보면 여러 개의 뷰를 나열하는 상황이 많다.하지만 SwiftUI의 함수나 body는 단 하나의 View만 반환해야 한다.그럼에도 여러 개의 뷰를 쌓을 수 있는 이유가 뭘까? 바로 @ViewBuilder 덕분이다.@ViewBuilder는

2025년 7월 20일
·
0개의 댓글
·

.onAppear

SwiftUI로 앱을 만들다 보면 뷰가 화면에 나타나는 시점에 특정 작업을 실행해야 할 때가 있다.이럴 때 사용하는 게 바로 .onAppear이다.먼저 정의부터 짚고 가보자..onAppear는 SwiftUI에서 뷰가 화면에 나타날 때(렌더링될 때) 실행되는 클로저를 지

2025년 7월 20일
·
0개의 댓글
·

Swift 상태관리

@State, @Binding, @StateObject, @ObservedObject, @EnvironmentObjectSwiftUI로 앱을 만들다 보면 “상태 관리”가 정말 중요하다는 걸 느끼게 된다.값이 바뀔 때마다 UI가 자동으로 업데이트되니 편리하지만, 상태의

2025년 7월 20일
·
0개의 댓글
·

async/await와 @Sendable

async/await와 @Sendable Swift로 비동기 작업을 하다 보면 async/await는 자연스럽게 접하게 되는데, 조금만 깊게 들어가 보면 @Sendable 같은 개념도 함께 따라온다. async와 await란? 먼저 정의부터 짚고 가보자. asy

2025년 7월 13일
·
0개의 댓글
·

연산자 커스터마이징

Swift에서는 기본 제공되는 연산자뿐만 아니라 연산자를 직접 정의하거나 옵셔널 타입에도 오버로딩을 통해 다양한 동작을 지정할 수 있다. 오늘은 아래와 같은 내용을 중심으로 Swift의 연산자 활용법을 정리해본다옵셔널 문자열을 더하는 + 연산자사용자 정의 전위/후위 연

2025년 7월 13일
·
0개의 댓글
·

Hash와 equal(==)

hashValue는 어떤 객체를 빠르게 식별할 수 있도록 만들어주는 고유한 정수값이다.객체가 Hashable을 채택하면 자동으로 사용할 수 있게 된다.예를 들어서:이 값은 주로 Set이나 Dictionary처럼 해시 기반 컬렉션에서 빠른 검색을 위해 쓰인다.정리하자면:

2025년 7월 13일
·
0개의 댓글
·

예외처리와 콜렉션

Swift에서 throws는 에러를 던질 수 있는 함수를 의미한다.즉, 이 함수는 문제가 생기면 직접 에러를 호출한 쪽으로 "던질 수 있다".바로 try를 붙여서 호출해야 한다.또는 try?를 쓰면 실패 시 nil을 반환하고, try!는 실패 시 런타임 에러를 낸다.r

2025년 7월 13일
·
0개의 댓글
·

옵셔널(Optional)

간단하게 말해서 이거다.Optional은 값이 있을 수도, 없을 수도 있는 타입이다.Swift는 타입 안정성을 굉장히 중요하게 생각한다.그래서 nil이라는 개념을 아무 변수에나 막 쓸 수 없다.즉, nil을 쓸 수 있으려면 명시적으로 ?를 붙여서 옵셔널 타입이라고 선언

2025년 7월 8일
·
0개의 댓글
·

제네릭

Swift에서 프로토콜, 제네릭, 그리고 확장(extension)이 섞인 코드를 보다 보면 뭔가 어려운 듯하면서도, 익숙한 듯하면서도… 이상하게 머리에 잘 안 들어온다.나도 그랬다. 특히 associatedtype이 처음 등장했을 때는 대체 얘는 왜 필요한 건지부터가

2025년 7월 7일
·
0개의 댓글
·

프로토콜 & 익스텐션

오늘은 Swift의 핵심 개념인 Protocol, Extension, 그리고 타입 캐스팅에 대해서 하나씩 정리해보려고 한다.이 세 가지는 Swift에서 꽤 자주 마주치게 되는데, 처음 보면 뭔가 추상적이고, 런타임에 따라 달라지고...조금 어렵게 느껴질 수 있다. 그래

2025년 6월 30일
·
0개의 댓글
·

class

Swift의 class는 struct와 다른 점이 참 많다. 오늘은 class의 개념부터 초기화 방식, 접근 제어자, 메모리 관리까지 정리해본다. class란? Swift에서 class는 참조 타입(reference type)이다. 같은 인스턴스를 여러 변수가 공유

2025년 6월 30일
·
0개의 댓글
·

이놈(enum).... 이놈의 자식 넌 누구냐

enum은 한정된 값의 집합을 표현하는 타입이다.예를 들어, 동물의 종류처럼 "정해진 선택지"를 다룰 때 쓰기 좋다.이렇게 Animals.cat처럼 쓰면, 이것 자체가 enum 타입의 값이 된다.출력하면 "cat"처럼 보일 수도 있지만, 실제로는 문자열이 아니다.문자열

2025년 6월 25일
·
0개의 댓글
·

Struct 구조체..... (C에서만 보던 녀석이 또 튀어나왔다)

Swift에서 struct는 굉장히 자주 쓰이는데, 클래스랑 비슷해 보이지만 사실 꽤 다르다.딱 두 단어로 정리하면 값 타입이고, 상속 불가이다.그래서 오늘은 Swift의 구조체에 대해 차근차근 정리해보려 한다.Swift의 구조체는 내부에 저장된 속성들을 기준으로 자동

2025년 6월 24일
·
0개의 댓글
·

클로저.....

Swift를 배우면서 가장 많이 마주치는 개념 중 하나가 바로 클로저(Closure)이다.근데 이게 생긴 것도 낯설고, 문법도 헷갈리고, 대체 왜 쓰는지도 잘 모르겠다.(이게 무슨소리인지 이해하는데 대략 2일정도 소요된거같다.... 허허)(사실 완전히 이해하지는 못했지

2025년 6월 24일
·
0개의 댓글
·

Swift 함수 문법 정리

Swift로 코딩하다 보면 함수 하나 짜는 것도 은근히 헷갈린다.특히 리턴은 꼭 적어야 하나? 파라미터 앞에 언더바(\_)는 왜 붙이는 걸까? 함수 안에 또 함수를 넣어도 되나? 같은 의문이 계속 생긴다.그래서 오늘은 함수 관련해서 헷갈릴만한 포인트를 쫙 정리해봤다.나

2025년 6월 20일
·
0개의 댓글
·
post-thumbnail

NSArray를 NSMutableArray로 바꿔보자

Swift를 쓰다 보면 NSArray나 NSMutableArray 같은 Objective-C 기반 클래스를 만날 때가 있다.특히 다른 프레임워크나 레거시 코드랑 연동할 때 자주 보이는데…이런 코드 보면 한 가지 궁금증이 생긴다.NSArray 타입인데 왜 NSMutabl

2025년 6월 19일
·
0개의 댓글
·

try와 await

SwiftUI로 앱을 만들다 보면 데이터를 외부에서 받아오는 일이 꼭 생긴다.예를 들어 JSON 데이터를 받아서 리스트로 보여주는 상황.이럴 때 흔히 쓰는 코드가 바로 이거다.이 한 줄에 !가 두 개나 들어간다.근데 try! 이렇게 쓰는 방식은 권장은 안한다고 한다.이

2025년 6월 18일
·
0개의 댓글
·

이게 무슨 주니어야...

아주 중요한 질문입니다.iOS 개발자로 취업을 목표로 한다면, 단순히 "앱을 만들 수 있다" 수준을 넘어서서 개발 실력 + 협업 능력 + 실무 경험의 간접 증명이 중요합니다.다음은 iOS 주니어 개발자가 취업을 위해 반드시 알아야 할 기술/지식을 실무 기준으로 정리한

2025년 6월 17일
·
0개의 댓글
·

# SwiftData는 언제 자동으로 저장될까?

SwiftData를 처음 써보면 정말 놀라는 포인트가 하나 있다.modelContext.save()를 호출하지 않았는데도 데이터가 저장되는 현상을 밝견했다.문제를 발견한 코드는 다음과 같다.SwiftData는 과연 언제, 어떤 조건에서 데이터를 자동 저장하는 걸까?Sw

2025년 6월 17일
·
0개의 댓글
·