안녕하세요 Hani입니다. 이번에는 NSCoding에 대하여 알아볼 거예요. NSCoding은 아카이빙과 배포를 위해 객체가 Encode/Decode 될 수 있도록 만드는 프로토콜이에요. 여기서 아카이빙은 객체와 객체간의 관계를 나타내는 Object Graph를 archive라는 파일로 만드는 작업이구 배포는 객체를 객체를 다른 주소 공간에 복사하는 작업입니다. 아무튼.. Encode/Decode에 초점을 맞춰보면 func encode(with: NSCoder) init?(coder: NSCoder) 프로토콜을 준수하기 위해 두 가지 메서드를 필수적으로 구현해야 하는데욥. encode는 주어진 Archiver에 객체(self)의 인스턴스 변수를 encode 하는 메서드입니다. 이 메서드는 여러 번 호출될..
안녕하세요 Hani입니다. 뭐 하나 깊게 공부하려 하니 결국 최상위 클래스인 NSCoder를 알아야겠더라구요 🥺 required init?(coder aDecoder: NSCoder) required init?(coder: NSCoder) 커스텀 뷰 만들거나 인코딩 디코딩 할 때 이런 거 정말 많이 봤죠? 요기 있는 NSCoder를 말한 거예욥. NSCoder는 다른 객체의 아카이빙과 배포를 가능하게 만들어 주는 객체를 위한 추상 클래스입니다. 음? 그럼 다른 객체의 아키이빙과 배포를 가능하게 만들어 주는 구체적인 타입은 뭔데 😡 Foundation 프레임워크에서는 NSCoder를 서브클래싱한 NSKeyedArchiver, NSKeyedUnarchiver같은 타입을 제공해주고 있어요. 그리고 NSCode..
안녕하세요 Hani입니다. 이번에는 HIG의 Views - Collections에 대하여 다뤄볼 거예요. ☺️ collection은 탭, 터치, 스와이프와 같은 상호작용을 지원하고 아이템을 추가, 삭제, 재정렬할 때 애니메이션을 사용할 수 있습니다. ☺️ 각 아이템마다 엄격하게 선형적인 형식을 강요하진 않아서 크기가 다양한 아이템을 보여줄 수도 있습니다. 상호작용과 애니메이션 모두 커스텀도 가능하지만 대신 고려해야 할 점이 몇 가지 있어요. Avoid creating radical new designs when a standard row or grid layout is sufficient. collection은 이목을 끄는 것이 아니라 UX를 상승시키는 것이 목적이기 때문에 과도하게 row나 layout..
안녕하세요 Hani입니다. 이번에는 About the App Launch Sequence 아티클을 정리하면서 앱 아이콘을 눌러서 앱을 켤 때 어떤 일이 일어나는지 알아볼 거예요. ☺️ 과정을 사진으로 보면..! 어후.. 복잡한 단계를 거쳐야 하나봐요. 🥺 차근차근 알아봅시당. 🧐 🥕 launch의 첫 번째 과정은 main이 실행되는 거예요. 엥 main 만든 적 없는데 import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { } extension UIApplicationDelegate { public static func main() } 짜롼 Xcode에서 프로젝트를 생성하면 알아서 AppDelegate.swift에 @main을..
안녕하세요 Hani입니다. 이번에는 About the UI Restoration Process 아티클을 정리해볼 거예요. 앱이 launch 되는 과정에서 앱의 State Restoration이 일어난다고 하는데 이걸 몰라서!! 🥺 정리할 거예요. ☺️ 🚨 이 아티클은 iOS 13.2 까지 적용되는 내용을 담고 있어요. 🚨 앱을 끌 때 상태를 보존하는 것을 State Preservation, 앱을 켤 때 전에 보존된 상태를 복원하는 것을 State Restoration 이라구 합니다. 위 그림은 애플리케이션이 launch되고나서 restore되는 시간까지 메서드가 호출되는 순서를 보여줍니다. 하나씩 알아볼게요 ☺️ 🥕 AppDelegate의 willFinishLaunchingWithOptions 메서드를 ..
안녕하세요 Hani입니다. 이번에는 HIG의 Visual Design - Animation에 대하여 다뤄볼 거예용. 일단 아래 링크에서 애니메이션을 한 번 구경하고 가실게요. 🥰 요기 링크 🦀 아주 자연스러운 애니메이션이죠? 그런데 애니메이션 사용할 때는 몇 가지 주의사항들이 있습니다. 🚨 Use animation and motion effects judiciously. 애니메이션과 모션 효과는 신중히 사용해야 한다고 하네요. 🥺 게임은 몰입형 경험을 제공할 필요가 있지만 그런 경우가 아닐 때도 과도한 애니메이션을 사용하는 것은 산만함을 느끼게 합니다. 또한 iOS는 깊이에 대한 인식을 만들기 위해 시차 효과와 같은 모션 효과를 이용하는데, 이런 모션효과도 과하게 사용하면 인식을 혼란하게 하거나 제어하기..
- Total
- Today
- Yesterday
- 에드몬드 카프 알고리즘
- 최단경로 문제
- 코딩대회
- 강한 순환 참조
- WWDC19
- test coverage
- 네트워크 플로우
- 다익스트라 시간복잡도
- IOS
- 네트워크 유량
- 벨만포드 알고리즘
- 부스트캠프 6기
- WWDC21
- rxswift
- HIG
- mach-o
- WWDC17
- 컴퓨터 추상화
- WWDC16
- Testable
- 최대 매칭
- CompositionalLayout
- 벨만포드 시간복잡도
- 포드 풀커슨 알고리즘
- 최단경로문제
- MeTal
- State Restoration
- 최단경로 알고리즘
- CPU와 Memory
- observeOn
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |