반응형

iOS 3

[iOS] iOS 개발자를 위한 토막 상식 3

iOS 개발자를 위한 토막 상식 31️⃣ @discardableResult📤정의: 함수의 반환값을 사용하지 않아도 컴파일러 경고가 발생하지 않도록 해주는 속성.@discardableResultfunc add(_ a: Int, _ b: Int) -> Int { return a + b} 활용 팁: 체이닝 함수나 테스트용 함수에 유용함, 결과 무시할 수 있다2️⃣ .onAppear()과 .task()차이 🍎항목.onAppear().task()실행 시점뷰가 화면에 나타날 때마다 호출됨최초 한 번만 실행비동기 지원❌ (직접 async 처리 필요)✅ async 클로저 사용 가능 실전 팁: SwiftUI에서 API 호출은 .task로, 상태 초기화는 .onAppear로 분리3️⃣ UserDefaults 저장..

iOS 2025.04.16

[iOS] iOS 개발자를 위한 토막상식 2

📱 두 번째, iOS 개발 토막상식 1️⃣ guard문은 if let보다 깔끔한 탈출문옵셔널 바인딩 시 guard는 실패 조건에 초점을 맞춰 조기 탈출하게 도와줌코드 흐름을 납작하게(flat하게) 만들어 가독성 Upfunc login(user: User?) { guard let user = user else { print("유저 정보 없음") return } print("환영합니다, \(user.name)")} 2️⃣ weak self는 언제나 필요한 건 아니다클로저 안에서 self를 캡처할 때 retain cycle이 생기면 앱이 메모리를 놓지 않음하지만 self가 살아 있어야 하는 작업이라면 unowned self도 가능팁: 단순한 비동기 처리에서 Dispa..

iOS 2025.04.15

[iOS] iOS 개발자를 위한 토막상식 1

iOS 개발자를 위한 토막상식 5가지1️⃣ @MainActor는 UI 작업의 수호자Swift Concurrency 도입 후, UI 업데이트는 @MainActor로 지정된 함수나 프로퍼티에서 안전하게 실행해야 함@MainActorfunc updateUI() { self.label.text = "업데이트 완료!"} ✅ 왜 중요할까? → 백그라운드 쓰레드에서 UI를 건드리면 앱이 크래시 날 수 있음!2️⃣ UserDefaults는 임시 저장소일 뿐작은 데이터 저장에는 편하지만, 구조화된 데이터나 대용량은 CoreData나 SwiftData, 혹은 FileManager를 고려해야 함⚠️ 앱 삭제 시 함께 지워짐 / 보안에 민감한 데이터 저장은 Keychain을 써야 함3️⃣ 앱의 메모리 경고 감지하기UI..

iOS 2025.04.14
반응형