Project/MyMantra2 Core Data + FileManager + Combine + MVVM 구조 핵심 아이디어는 이미지를 디스크에 저장하고, 그 경로(상대 경로)를 Core Data에 저장하는 것입니다. Create (새 피드를 생성할 때):이미지를 먼저 FeedStorageManager로 저장 → 저장된 상대 경로 배열을 FeedItem.imagePath에 설정 → Core Data에 FeedModel 엔티티로 저장Fetch (피드를 불러올 때):Core Data에서 FeedItem을 가져옴 → 필요한 경우 FeedStorageManager.loadImages로 실제 UIImage를 불러올 수 있음Update (기존 피드 수정 시):기존에 저장된 이미지를 삭제하고, 새 이미지가 있으면 다시 저장 → Core Data 업데이트Delete (피드 삭제 시):해당 피드에 연결된 이미지들을 FileMan.. 2025. 1. 24. layoutSubviews 반복 호출 방지 layoutSubviews는 뷰의 레이아웃이 변경될 때마다 호출됩니다. 따라서 itemSize를 매번 재설정하면 불필요한 연산이 발생할 수 있습니다. 이를 방지하려면 기존 크기와 비교해 변경된 경우에만 업데이트하도록 처리하세요. 변경 전 코드override func layoutSubviews() { super.layoutSubviews() if let layout = listCollectionView.collectionViewLayout as? UICollectionViewFlowLayout { let width = basicView.bounds.width / 2 let height = basicView.bounds.heigh.. 2024. 11. 20. 이전 1 다음