분류 전체보기72 AVFoundation - 영상을 이미지 배열로 저장 시 메모리 초과되는 이슈, Accelerate ⚠️ iPhone 13으로 Live4Cut을 테스트하니 영상으로 변환 시, Crash가 발생하는 오류 발생!! 문제 원인: 너무 많은 메모리 사용이 이벤트(네 컷 영상 추출하러 가기)를 누르면 크게 3가지 일련의 작업을 처리한다.각각 4개의 영상에서 프레임별 이미지 추출 (1초 당, 24개의 이미지) 후 CGImage로 저장 ⇒ [[CGImage]]각 영역별 이미지를 하나의 이미지로 합성(CGImage[0][0], CGImage[0][1],CGImage[0][2],CGImage[0][3]) ⇒ 합성된 CGImage[0]이미지를 영상으로 변환✅ 이 3가지 작업 중 하나의 작업에서 메모리를 너무 크게 소모한다고 판단하여 하나씩 작업 실행문제의 원인: 영상을 이미지 배열로 변환하는 부분⇒ 여기에서 갑.. 2025. 3. 27. Observable과 ViewModel State에 대한 고찰 대부분 iOS ViewModel에서 상태를 관리하기 내부에 쓰이는 값들을 하나의 구조체로 그 객체가 갖는 상태를 선언해서 관리한다.@Observable class ViewModel{ var state:State struct State{ var isFirstAppear = true var isTipAlertPresented = false } ...}⚠️ 이렇게 된다면 @Observable 의 장점인 하나의 변화에만 대응하는 장점을 잃을 수 있다..! ⚠️ 이 구조체 하나가 변경되면 값 복사가 일어나니 isFirstAppear가 변경되어도 isTipAlertPresented의 값을 관찰하는 관찰자의 특정 action이 실행될 수 있다.자세한 Observabl.. 2025. 3. 26. iOS 앨범 이미지 Fetch - PHCachingImageManager로 성능 향상 문제 인식⚠️ 오래된 사진을 가져오면 Task Continuation Misuse 에러가 발생한다. 그리고 이미지를 가져오지 못 함!! What is Task Continuation Misuse??Continuation을 적절히 호출하지 않거나 여러 번 호출하는 경우에 Swift 런타임이 감지하여 발생하는 오류기존 completionHandler나 delegate에서 처리를 받은 작업의 흐름에 문제가 생겼다는 것임⇒ 문제 발생의 경우resume을 반드시 한 번만 호출했는가?모든 코드 흐름에서 resume 이 호출되도록 보장했는가?resume을 호출하기 전에 비동기 작업이 완료되었는가?Task Continuation Misuse에 대한 자세한 설명은 다음 링크에...https://velog.io/@dvhu.. 2025. 3. 24. WWDC - Async algorithm 패키지 WWDC - Swift Async 알고리즘 소개 Swift Async 알고리즘 소개 - WWDC22 - 비디오 - Apple DeveloperApple의 최신 오픈 소스 Swift 패키지인 Swift Async 알고리즘을 확인하세요. Zip, Merge 및 Throttle을 비롯하여 AsyncSequence와 함께 사용할 수 있는 이 패키지의 알고리즘을 알아보겠습니다. 이러한...developer.apple.com GitHub - apple/swift-async-algorithms: Async Algorithms for SwiftAsync Algorithms for Swift. Contribute to apple/swift-async-algorithms development by creating an a.. 2024. 10. 20. 이전 1 2 3 4 5 ··· 18 다음