2024/11/13 4

FileManager 사용하는 기본 방법 (이미지를 경로로 저장하여 코어 데이터에 가져다 사용하기)

1단계: 파일 경로 설정하기파일을 저장하거나 불러오기 위해 기본적으로 앱의 Documents Directory 경로를 설정합니다. 이 경로는 파일을 영구적으로 저장할 위치를 지정합니다.import Foundation// FileManager 기본 설정let fileManager = FileManager.defaultlet documentsDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask).first! documentsDirectory는 사용자의 앱 데이터가 저장되는 기본 경로입니다. 이곳에 이미지를 저장하거나, 저장된 이미지 파일을 불러올 때 경로로 활용할 수 있습니다.  2단계: 폴더 만들기 (필요시)파일을 관리하기 쉽게..

iOS/UIKIT 2024.11.13

iOS 앱에서 Multi-threading을 구현하는 방법은 무엇인가요?

iOS 앱에서 **멀티스레딩(Multi-threading)**을 구현하는 방법으로는 GCD(Grand Central Dispatch), Operation 및 OperationQueue, 그리고 **Swift Concurrency (async/await)**가 주로 사용됩니다. 각 방법은 비동기 작업을 효과적으로 관리하고, 앱의 성능과 사용자 경험을 향상시키는 데 중요한 역할을 합니다. 1. Grand Central Dispatch (GCD)GCD는 Apple에서 제공하는 멀티스레딩 API로, 간단하게 비동기 작업을 처리할 수 있습니다. 주로 비동기 큐와 동기/비동기 메서드를 사용하여 작업을 백그라운드에서 처리하고, 필요할 때 메인 스레드로 전환하는 방식으로 구현합니다.DispatchQueue.main: ..

정보/레벨 1 2024.11.13

메모리 관리에서 강한 참조(Strong Reference)와 약한 참조(Weak Reference)의 차이점은 무엇인가요?

**강한 참조(Strong Reference)**와 **약한 참조(Weak Reference)**는 Swift에서 메모리 관리와 객체 생명주기를 관리하기 위해 사용하는 참조 방식입니다. 이 두 참조 방식은 ARC(Automatic Reference Counting) 시스템을 통해 메모리를 효율적으로 관리하는 데 중요한 역할을 합니다. 객체가 강한 참조로 연결되어 있으면 ARC가 객체를 메모리에서 해제하지 않고 유지하며, 약한 참조는 객체가 메모리에서 해제되도록 허용하여 순환 참조(Strong Reference Cycle) 문제를 방지할 수 있습니다. 강한 참조(Strong Reference)정의: 강한 참조는 기본 참조 방식으로, 객체의 참조 횟수를 증가시키며 참조하는 동안 객체가 메모리에서 해제되지 않..

정보/레벨 1 2024.11.13

Swift의 에러 처리 방법에 대해 설명해주세요.

Swift에서 **에러 처리(Error Handling)**는 프로그램 실행 중 발생할 수 있는 예외 상황에 대비하여 오류를 처리하고 안정적으로 코드가 실행될 수 있도록 도와줍니다. Swift는 명확하고 안전한 에러 처리를 제공하며, Error 프로토콜과 do-catch 구문, throws 키워드, try 구문 등을 사용해 에러를 처리합니다. Error 프로토콜Swift의 에러 타입은 Error 프로토콜을 준수하는 타입으로 정의됩니다.enum을 사용해 에러의 종류를 구체적으로 정의하고, 상황에 맞게 사용할 수 있습니다.enum NetworkError: Error { case invalidURL case noData case decodingFailed}  throws 키워드throws 키워..

정보/레벨 1 2024.11.13