| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- clean architecture
- ribs
- tableView
- Refactoring
- 애니메이션
- UICollectionView
- swift documentation
- 스위프트
- map
- MVVM
- ios
- rxswift
- Observable
- Clean Code
- 클린 코드
- UITextView
- SWIFT
- swiftUI
- Xcode
- scrollview
- Human interface guide
- RxCocoa
- Protocol
- combine
- collectionview
- uiscrollview
- uitableview
- 리펙토링
- HIG
- 리팩토링
- Today
- Total
목록2025/07 (5)
김종권의 iOS 앱 개발 알아가기
백그라운드 처리를 할때 고려하는것백그라운드에서 처리할 때 프로세스 입장에서 고려하는 것들배터리 생명주기공유 자원 (Memory, CPU, 네트워크 대역폭, 저전력 모드, 적은 데이터 모드)ex) 공유 자원 예시 - 포그라운드 관점백그라운드에 너무 많은 자원을 사용하면 비효율적으로 처리가 될 뿐 아니라 포그라운드 경험과도 충돌되므로 백그라운드에 있는것들 종료할 수 있음때문에 백그라운드 작업을 최소화하여 메모리 사용량을 줄여야함또한 사용자가 저전력 모드를 키는 성격을 고려하여 사용자 관점에서 생각하며 설계해야함애플에서 권고하는 백그라운드 처리 방향효율성, 최소성, 탄력성, 신중함, 적응성백그라운드 작업을 한다는 것은 런타임 기회가 생길 때마다 점진적 진행이 가능해야함(시스템 조건과 우선순위를 이해하고 적응할..
백그라운드 작업이란?사용자가 앱을 나가고도 프로세스가 살아 있으면 앱은 백그라운드로 전환됨앱은 일시중단되며,"Suspended" CPU를 사용하지 않게됨배터리를 보호하고 개인 정보를 지키는 역할포그라운드 앱에 리소스를 확보해 줌(앱은 일시중단 전 작업을 마무리할 수 있도록 백그라운드 실행 시간을 요청할 수 있음)위처럼 백그라운드 상태를 잘 사용하려면 시스템이 리소스를 어떻게 우선순위화하고 관리하는지, 앱 안에서 무엇을 할 수 있는지 이해하는것이 좋음백그라운드를 이해하는 핵심애플이 백그라운드 상태를 만드는 목적의 핵심은 `배터리 수명`을 보호하고 `성능을 최적화`하여 부드럽고 반응성 있는 사용 경험을 유지하는 것때문에 백그라운드 실행은 보장되지 않음기회가 있을 때만 허용되고 대부분은 재량에 따라 엄격히 관..
Animation 매크로원래는 아래와같은 애니메이션을 구현할땐 애니메이션을 커스텀해야햐하므로 AnimatableData를 사용하여 커스텀해야함코드) 여기서 중요한 점은 드로잉 방향이 내장된 애니메이션에 의해 원하지 않는 방향으로 드로잉 되는데 이것을 제거해주는 코드를 구현하려면 아래처럼 많은 코드가 필요SwiftUI에서는 @Animatable 매크로와 @AnimatableIgnores를 통해 내장된 애니메이션 기능 비화성화도 가능예를 들어, 드로잉 방향이 원하지 않는 방향으로 될때 @AnimatableIgnores를 사용하여 제거WebView와 WebPageWebPage라는 Observable 모델이 생겼고 이 instance를 WebView에 넣어서 사용page instance에서 load하여 url을..
Liquid Glass기존 TabView를 사용하면 자동으로 Liquid Glass 형태로 보여짐TabView { }toolbar 사용해도 상단 버튼들이 Liquid glass로 표현됨스크롤하면 가장자리를 흐림처리함검색바인체공학적으로 쉽게 처리하기위해 검색바는 키보드 바로 위에붙게됨TabView안에 있는 Tab에 role 파라미터에 .search만 넣어도 검색바를 보여주게 할 수 있음변경된 Control UI (Toggle, Picker, Slider)Liquid glass 형태로 버튼이 동작함 Scroll Performance원래는 Lazy Stack들이 여러개 중첩되어 있을 땐, lazy하게 동작되지 않았지만 이제는 lazy하게 동작됨VStack안에 Carousel같은 UI를 하고싶을땐 기존에 중첩되..
배열 향상 - InlineArray새로운 API (Swift 6.2+)InlineArray속도가 더 빠름기존 Array처럼 유연성은 줄어들지만, 그 대신 속도와 메모리 효율이 훨씬 뛰어남기존 Array의 단점을 보완해줌동적 크기 조정을 위해 데이터를 힙(heap)에 저장하는데, 크기를 넘어서면 새로운 메모리를 할당하고 복사하는 오버헤드가 발생하고 성능에 민감한 코드를 작성할 때 비효율적임만약 더 많은 요소가 저장되는경우 메모리에서 동작하는 과정?Heap에 새로운 메모리를 할당하고 기존 요소들을 복사과정이 필요 InlineArray의 경우 heap에 별도로 저장하지 않고 Stack에 저장함사용 방법Array같이 사용하며 아래에 요소의 갯수와 타입은 생략 가능 (컴파일가 알아서 추가해줌)Array vs In..