| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- MVVM
- Observable
- uiscrollview
- uitableview
- 리펙토링
- scrollview
- SWIFT
- HIG
- Protocol
- collectionview
- Clean Code
- Refactoring
- 애니메이션
- UICollectionView
- tableView
- swiftUI
- swift documentation
- Human interface guide
- ios
- combine
- RxCocoa
- rxswift
- 클린 코드
- ribs
- 리팩토링
- 스위프트
- map
- clean architecture
- UITextView
- Xcode
- Today
- Total
목록wwdc (5)
김종권의 iOS 앱 개발 알아가기
백그라운드 처리를 할때 고려하는것백그라운드에서 처리할 때 프로세스 입장에서 고려하는 것들배터리 생명주기공유 자원 (Memory, CPU, 네트워크 대역폭, 저전력 모드, 적은 데이터 모드)ex) 공유 자원 예시 - 포그라운드 관점백그라운드에 너무 많은 자원을 사용하면 비효율적으로 처리가 될 뿐 아니라 포그라운드 경험과도 충돌되므로 백그라운드에 있는것들 종료할 수 있음때문에 백그라운드 작업을 최소화하여 메모리 사용량을 줄여야함또한 사용자가 저전력 모드를 키는 성격을 고려하여 사용자 관점에서 생각하며 설계해야함애플에서 권고하는 백그라운드 처리 방향효율성, 최소성, 탄력성, 신중함, 적응성백그라운드 작업을 한다는 것은 런타임 기회가 생길 때마다 점진적 진행이 가능해야함(시스템 조건과 우선순위를 이해하고 적응할..
Animation 매크로원래는 아래와같은 애니메이션을 구현할땐 애니메이션을 커스텀해야햐하므로 AnimatableData를 사용하여 커스텀해야함코드) 여기서 중요한 점은 드로잉 방향이 내장된 애니메이션에 의해 원하지 않는 방향으로 드로잉 되는데 이것을 제거해주는 코드를 구현하려면 아래처럼 많은 코드가 필요SwiftUI에서는 @Animatable 매크로와 @AnimatableIgnores를 통해 내장된 애니메이션 기능 비화성화도 가능예를 들어, 드로잉 방향이 원하지 않는 방향으로 될때 @AnimatableIgnores를 사용하여 제거WebView와 WebPageWebPage라는 Observable 모델이 생겼고 이 instance를 WebView에 넣어서 사용page instance에서 load하여 url을..
배열 향상 - InlineArray새로운 API (Swift 6.2+)InlineArray속도가 더 빠름기존 Array처럼 유연성은 줄어들지만, 그 대신 속도와 메모리 효율이 훨씬 뛰어남기존 Array의 단점을 보완해줌동적 크기 조정을 위해 데이터를 힙(heap)에 저장하는데, 크기를 넘어서면 새로운 메모리를 할당하고 복사하는 오버헤드가 발생하고 성능에 민감한 코드를 작성할 때 비효율적임만약 더 많은 요소가 저장되는경우 메모리에서 동작하는 과정?Heap에 새로운 메모리를 할당하고 기존 요소들을 복사과정이 필요 InlineArray의 경우 heap에 별도로 저장하지 않고 Stack에 저장함사용 방법Array같이 사용하며 아래에 요소의 갯수와 타입은 생략 가능 (컴파일가 알아서 추가해줌)Array vs In..
Subprocess말 그대로 프로세스들을 관리해주는 모듈import Subprocess를 하고난 후 아래처럼 사용이 가능Foundation 개선NotificationCenter 알림 등록 시 보일러플레이트 제거기존엔 UIResponder 이벤트 등록 시 아래처럼 작성addObserver할 땐 forName: UIResponder.keyboardWillShowNotification으로 작성startFrame, endFrame을 구할때도 긴 코드가 필요변경된 것보일러 플레이트가 많이 줄어들음개선1: addObserver(forName:object:queue:) -> addObserver(of:for:)개선2: userInfo[UIResponder.keyboardFrameBeginUserInfoKey] as?..
이번 WWDC 세션의 의미Swift언어가 어떻게 발전하며 앞으로도 어떤 패러다임을 가지고 발전할 것인가를 이해할 수 있는 세션2024년 Swift의 핵심 패러다임: 다른 플랫폼과의 상호운용성Swift 언어의 진화2014년에 Swift1.0부터 2024년에 Swift6.0이 나오는데, 2023년까지는 전반적으로 다른 언어와 어울릴 수 있는 기반을 다루도록 진화특히 2023년에는 C++과의 상호 운용성을 도입SwiftData와 같이 차세대 API를 활성화하는 매크로도 도입애플의 Swift팀 구성2024년에 새로 생긴팀: Plaform, Ecosystem, Embeddedplatform: Swift를 더 많은 곳으로 가져오는데 집중하기 위한 플랫폼 운영팀Ecosystem: 개발자 경험과 새로운 생태계 그룹을 ..