분류 전체보기21 UIKit) UICollectionViewCell 관련 앱 크래쉬 삽질 불과 저번주에 똑같은 삽질을 했었는데 어떻게 해결했는지 까먹고 같은 실수를 반복했다..ㅠㅠ 잊지 않기 위해 글을 남긴다 ㅠ.. Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[ setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key thumbnailImageView.' 컬렉션뷰를 사용하면서 셀을 추가하고 관련 Layout, Data, Presentation을 설정해주고 앱을 돌렸는데 위와 같은 에러메시지와 함께 시뮬이 터졌다. 번역하면 이 클래스는 키 thumbnailImageView에 대한 키 값 코딩 호환이 아닙니다... 2023. 6. 27. SwiftUI)토스 주식 탭 애니메이션 구현하기 구현환경 iOS 16.4 +, iPhone 14 Pro Max 기준으로 SwiftUI를 사용하였다. 다크모드 대응은 따로 안했다. 내 폰이 12프맥이라서 실제 토스 앱과 사이즈를 비슷하게 하기 위해 이번에도 14프맥을 기준으로 구현했다. 목표 애니메이션 구현 + 애니메이션이 포함된 뷰를 구현하기 1. 목표 애니메이션: 토스증권 옆 종합지수가 번갈아가면서 보여지는 애니메이션 2. 네비게이션 바 부분: 스크롤이 올라가면서 서서히 드러나는 1번과 동일한 애니메이션 3. 내 주식 & 오늘의 발견 버튼 부분 - 스크롤이 올라가면 네비게이션바 부분까지만 올라갔다가 이후엔 고정되어 네비게이션바의 역할을 함 - 버튼을 누르면 탭이 바뀌고, 버튼 밑의 라인이 옆으로 매끄럽게 이동함 과정 및 고민 1. 애니메이션 구현부 .. 2023. 6. 6. SwiftUI) 토스 애니메이션 구현해보기 앱에 필요한 것은 사용자가 원하는 서비스를 제공하는 것, 사용성이 있다. 토스 앱을 사용해보면 상큼발랄한 애니메이션이 여기저기 보이고 이로 인해 앱에서 젊은 바이브와 간편하다는 느낌을 받을 수 있다. 토스 앱에 들어간 애니메이션 중 하나를 구현해보았다. 구현환경 iOS 16.0 +, iPhone 14 Pro Max 기준으로 SwiftUI를 사용하였고 사용된 라이브러리는 로티(Lottie)이다. 내 폰이 12프맥이라서 실제 토스 앱과 사이즈를 비슷하게 하기 위해 14프맥으로 설정했다. 목표 애니메이션 구현 + 애니메이션이 포함된 뷰를 구현하기 과정 및 고민 1. 셀모양을 Rectangle()로 할지 VStack에 백그라운드를 줄지 고민이 됐다. Rectangle로 하면 오버레이나 ZStack으로 UI들을 .. 2023. 5. 23. 동시성(Concurrency)이란? (비동기, 병렬처리 개념) 저는 비동기 처리를 알아보던 중 동시성을 접했어요. 그래서 '비동기 = 동시성' 이라고 생각하고 있었는데 API호출을 어떻게 하면 더 빠르게 호출할 수 있을까에 대해서 알아보던 중 동시성을 다시금 공부하게 됐습니다. 목차 1. 동시성이란 무엇일까? - 동기(Synchronous) VS 비동기(Asynchronous) - 직렬처리(Serial) VS 병렬처리(Parallel) 2. Async/await를 이용하여 비동기처리해보자 3. 비동기 함수 병렬처리(Parallel)하기 - async let - 작업과 작업 그룹 (Tasks and Task Groups) 1. 동시성이란 무엇일까? 예시를 들어보겠습니다. 카페에 알바생이 3명이 있다. 음료 주문이 5잔 들어온 상황이다. 어떻게 음료를 제조하면 좋을까?.. 2023. 4. 24. SwiftUI)Preview Crashed는 왜 일어날까 스유를 하다보면 Preview가 아주 유용하다는 것을 알 수 있다. 일일이 시뮬을 구동하여 확인하지 않아도 되고, 셀렉터블 프리뷰를 이용하여 컴포넌트들이 차지하는 공간을 확인할 수 있는 것이 특히 장점이다. 평소 프리뷰 크래시를 많이 겪었던 사례 MVVM 패턴에서 EnvironmentObject를 사용할 때이다. 하위 뷰에서 객체를 쓰고, 상위뷰에서 객체를 안쓴다고 프리뷰에 .environmentObject를 안써줬다간 바로 크래시가 난다. 관련해서는 따로 글을 작성했다. https://yahoth.tistory.com/16 SwiftUI) Preview 크래시 발생 사례 (EnvironmentObject) 스유를 사용하다보면 Preview에서 크래시가 종종 일어난다. 사실 이전에 Preview 크래시 .. 2023. 4. 10. API호출 후 데이터 가공해서 서버에 저장하기(2) (SwiftUI) 앞글에서 API를 이용하여 1️⃣데이터 호출에 대해 다뤘다. 이번 글에선 2️⃣먼저 호출한 데이터로 다른 데이터를 호출하는 것부터 이후 3️⃣,4️⃣까지 마무리할 것이다. 1️⃣✅ 데이터 호출 -> 2️⃣호출한 데이터를 가지고 한번 더 호출 -> 3️⃣데이터 파싱 -> 4️⃣Firebase 올리기 앞글 링크: https://yahoth.tistory.com/6 API호출 후 데이터 가공해서 서버에 저장하기(1) (SwiftUI) 향수 관련 앱을 만들기 위해 향수의 정보 데이터가 필요했다. 팀 프로젝트 때 Sephora에서 제공해주는 향수 데이터를 가져다 썼었다. 그 과정에서 우리 팀은 '데이터호출 / 데이터가공' 로 역할을 yahoth.tistory.com 2️⃣호출한 데이터를 가지고 한번 더 호출 앞의.. 2023. 4. 3. 이전 1 2 3 4 다음