일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Tistory
- ios #swift #uialertcontroller #메서드 스위즐링
- 디자인패턴
- 부트캠프
- OS
- 코코아 인터널스
- Design Pattern
- SwiftUI
- Cocoa Internals
- World
- Swift
- 네이버 부캠
- IOS
- 부스트캠프
- 후기
- development
- 커스텀 뷰
- 단위 테스트
- 개발
- notion
- Hello
- WWDC
- Algorithm
- Opensource
- 알고리즘
- rxswift
- boostcamp
- Today
- Total
목록2025/03 (3)
꿈돌이랜드

Modern SwiftUI: Identified arrays이 포스팅은 위 링크를 기반으로 작성했습니다.IdentifiedArray가 필요한 이유보통 SwiftUI에서 리스트 뷰를 구현할 때 ForEach 구문으로 리스트 데이터를 순차적으로 표시하는 케이스가 많습니다.그런 경우 보통 다음과 같이 구현하게 됩니다. struct StandupsList: View { @State var standups: [Standup] = […] var body: some View { List { ForEach(standups) { standup in StandupRow(standup: standup) } } } }그런데 보통 뷰 레이어에서 다시..
Swift Concurrency사내에서 Swift Concurrency 스터디를 진행했습니다.Swift Concurrency는 Swift5.5 버전 부터 도입된 Swift 언어 차원의 비동기 처리 방식입니다Documentation이 글에서는 개인적으로 Swift Concurrency를 공부하면서 중요하게 깨달은 내용에 대해 서술합니다.1. 어떤 actor에 해당 변수, 함수가 “선언”되어있는지가 중요하다.GCD의 경우 선언이 중요한게 아니라 런타임에 어떤 dispatchqueue에 해당 작업이 들어가서 실행되는지가 중요했습니다.Swift Concurrency의 경우는 해당 변수와 함수가 “선언된 위치”가 곧 어떤 스레드(엄밀히 말하면 actor)에서 동작할지를 결정합니다.이를 흔히 다양한 교육자료에서 격..
메서드 스위즐링이란?메서드 스위즐링은 런타임에 함수의 구현부를 뒤섞는 방법을 말합니다.구현 방법은 보통 다음과 같이 이뤄집니다.보통 class_getInstanceMethod 나 class_getClassMethod 와 같은 방법을 사용해서 각 메서드의 셀렉터를 가져오고각각을 method_exchangeImplementation으로 뒤바꾸어 구현을 바꾸어서 구현, appdelegate 같은 곳에서 swizzle을 한번 실행시켜줍니다.단, 각 메서드는 @objc 런타임에 노출되어야 하고, dynamic으로 마킹되어있어야 함extension에 정의된 경우는 자동으로 dynamic처리가 된 것으로 칩니다.import UIKitfileprivate var swizzleEnabled = falseextension..