일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- HIG
- Human interface guide
- tableView
- RxCocoa
- 스위프트
- uiscrollview
- Refactoring
- 애니메이션
- swift documentation
- UITextView
- map
- combine
- 리펙터링
- Protocol
- 리팩토링
- 클린 코드
- SWIFT
- Clean Code
- clean architecture
- uitableview
- Observable
- rxswift
- ios
- 리펙토링
- collectionview
- ribs
- UICollectionView
- swiftUI
- Xcode
- MVVM
- Today
- Total
목록objc_getAssociatedObject (3)
김종권의 iOS 앱 개발 알아가기
AssociatedObject 생명주기 AssociatedObject를 사용하면 extension에도 stored property 처럼 표현이 가능한데, ARC에 의하여 참조 카운트가 0이되면 자동으로 AssociatedObject도 사라지는것인가? AssociatedObject를 사용하여 extension에 stored property 추가 방법은 이전 포스팅 글 참고 ex) AssociatedObject extension UIScrollView { var lastOffsetY: CGFloat { get { (objc_getAssociatedObject(self, &AssociatedKeys.lastOffsetY) as? CGFloat) ?? 0.0 } set { objc_setAssociatedObj..
extension에서의 stored property extension에서는 stored property 선언이 불가능 불가능한 이유? 만약 가능하다면 Int와 같은곳에도 String같은 값을 stored property로 추가할수 있게되어, Int의 본질적인 상태(메모리 크기, 역할)을 extension으로 어디에서든지 변경하여 예측불가능한 코드가 될 수 있으므로 애초에 extension에서 stored property선언을 막은 것 AssociatedObject를 사용한 프로퍼티 추가 objective c에서 제공했던 setter, getter를 사용하여 swift의 extension에도 stored property 추가가 가능 정확히는 computed proprety를 만들지만, get, set할 때..
objc_setAssociatedObject, objc_getAssociatedObject key-value 쌍으로 특정 값을 저장하여 사용 extension에서는 stored property를 지정하지 못하지만, 이 AssociatedObject를 사용하면 stored property처럼 따로 프로퍼티를 추가하고 접근도 가능 AssociatedObject 주요 메소드 객체를 저장하는 메소드 // https://developer.apple.com/documentation/objectivec/1418509-objc_setassociatedobject func objc_setAssociatedObject( _ object: Any, _ key: UnsafeRawPointer, _ value: Any?, _ ..