알고리즘 문제를 풀다보면 사용자의 input을 받는 경우가 자주 있습니다.이때 저는 readLine()을 사용해서 사용자 입력을 받곤 했지만 input의 범위가 커져 시간초과가 나는 경우도 있어 찾아보게 된 내용을 정리해보려고 합니다. ✅ readLine() 공식문서에 따르면 readLine은 한 줄의 끝 또는 EOF(End of File) 까지 입력된 String 값을 받아온다고 합니다.readLine의 return 값은 Optional이며 이는 EOF에 이미 도달 했을 때 nil을 반환해주기 때문이라고 합니다. 일반적으로 Command Line Tool에서 입력을 받아올 때 사용되지만 return 값이 무조건 String 형태라 다른 형태로 사용하기 위해서는 타입을 변경해줘야합니다. reaLin..
안녕하세요 Diana 입니다. 오늘은 Transitioning Delegate를 사용하여 화면전환 애니메이션을 직접 구현해보도록 하겠습니다. 시작하기에 앞서 제가 구현하고자 하는 애니메이션은 아래와 같습니다. 간단하게 이미지로 그려보면 아래와 같습니다.Cell에서 시작한 화면이동 Present 애니메이션이 진행되며 다음 뷰로 이동을 할거고 반대로 Dismiss 또한 애니메이션을 이용하여 처리할 예정입니다. 저는 애니메이션을 구현하기 위해 UIViewTransitioningDelegate를 만족하는 CustomTransition 클래스를 따로 구현하여 필요할때마다 가져와 사용할 수 있도록 하였습니다.CustomTransition 코드에 앞서 아래 코드는 Cell이 선택되었을 때 CustomTransit..
안녕하세요 Diana 입니다.앨범의 첫 화면을 마치고 오늘은 앨범에서 썸네일을 눌렀을 때 자세한 이미지 화면으로 이동하는 애니메이션을 구현해보려고 합니다. 처음 iOS 개발을 시작했을때는 Modal의 기본 화면전환과 NavigationController 등을 사용한 화면전환을 많이 사용했었는데 실무에 들어가니 자연스러운 전환을 위해 애니메이션이 사용된다는 것을 알게 되었습니다.애니메이션을 통한 화면 이동은 처음엔 굉장히 이해도 어렵고 이해를 했어도 구현까지 막막했었기 때문에 혹시라도 저와 같이 고생을 하고 있으신 분들을 위해 정리를 해보려고 합니다. 오늘은 구현을 위한 개념을 정리하고 다음 포스팅에서 실제 구현이 이루어질 예정입니다. 시작하겠습니다~ ✅ 알아야 할 개념UITransitioningDel..
안녕하세요 Diana입니다.오늘은 앨범 앱을 구현하며 수 많은 이미지를 한꺼번에 받아오는건 비효율적이라고 생각하여 무한스크롤 이라고 불리는 뷰를 구현해보려고 합니다.시작하겠습니다. ✅ 무한스크롤 구현하기우선 무한스크롤을 구현하기 앞서 비슷한 기능이 있는 앱들을 살펴보았습니다.Snow, Foodie 그리고 다른 여러 앱들을 확인해본 결과 많은 이미지와 데이터들을 처리하는 앱의 경우 특정 개수의 이미지를 우선 보여준 뒤 스크롤하였을 때 추가적으로 이미지를 불러오도록 구현되어있었습니다.추가적으로 데이터 로드 속도가 스크롤 속도를 따라오지 못하는 경우 Cell에서 기본 이미지(보통 회색)를 보여준 뒤 데이터가 로드 된 이후 Cell을 채워넣는 방식으로 구현되어 있었는데 이부분은 저는 서버에서 이미지를 받아오는..
안녕하세요, 앨범 앱을 만들고 있는 Diana 입니다.저번 게시물에서는 앨범 앱을 만들기 위해 접근권한을 설정하고 이미지 메타데이터를 사용하여 PHCachImageManager를 통해 이미지를 가져와 CollectionView에 뿌려주었습니다. 하지만 여기서 몇 가지 문제가 발생했는데요.오늘은 문제를 해결하기 위해 PHCachImageManager의 requestImage()에 대해 알아보려고 합니다. 좀 두서가 없긴 하지만 미래의 저를 위해 쓰는 글이기 때문에 괜찮을..지도? 시작하겠습니다. 이전 포스팅까지 구현한 코드를 실행해보면 발생하는 문제는 크게 세 가지가 있습니다. 첫 번째, 앨범에 사진이 별로 없는 테스트 폰에서는 상관 없지만 수 만개의 이미지를 가진 제 핸드폰에서 코드를 실행하면 이미지 ..
- Total
- Today
- Yesterday
- iphone
- 코어데이터
- Algorithm
- 개발자코테
- Xcode
- private(set)
- ViewBuilder
- 스위프트
- capsulation
- PHCachImageManager
- BoxedType
- 알고리즘
- tipview
- 팁킷
- reusablelist
- SwiftUI
- boxedprotocoltype
- Tuist
- opaque
- opaquetype
- asymptoticnotation
- ios
- kakaomapssdk
- Concurrency
- boxedprotocol
- swift
- 빅세타표기법
- UIViewTransitioningDelegate
- tuist v4
- coredata
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |