일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애니메이션
- rxswift
- HIG
- swift documentation
- 스위프트
- Refactoring
- Xcode
- Clean Code
- swiftUI
- 리펙터링
- Human interface guide
- clean architecture
- map
- ribs
- collectionview
- MVVM
- combine
- Observable
- ios
- tableView
- Protocol
- UICollectionView
- uitableview
- SWIFT
- UITextView
- 클린 코드
- uiscrollview
- 리팩토링
- RxCocoa
- 리펙토링
- Today
- Total
목록Share (4)
김종권의 iOS 앱 개발 알아가기
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/baD80N/btrLE9jtsmd/kIcWciKE4Rkfz0rb0LBY90/img.gif)
UIVeiwControllerRepresentable UIKit의 ViewController 타입을 SwiftUI의 View 타입으로 변경하여 사용할 수 있는 기능 UIViewControllerRepresentable 프로토콜을 준수하는 구조체를 만들어서 사용 // UIViewControllerRepresentable 프로토콜 public protocol UIViewControllerRepresentable : View where Self.Body == Never { associatedtype UIViewControllerType : UIViewController func makeUIViewController(context: Self.Context) -> Self.UIViewControllerType f..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wxJvj/btqN02p98Ni/YkA3JVpotCkuGUnM7OkEoK/img.png)
View를 이미지로 변환 & 공유하기 View를 UIImage로 변환 extension UIView { func transfromToImage() -> UIImage? { UIGraphicsBeginImageContextWithOptions(bounds.size, isOpaque, 0.0) defer { UIGraphicsEndImageContext() } if let context = UIGraphicsGetCurrentContext() { layer.render(in: context) return UIGraphicsGetImageFromCurrentImageContext() } return nil } } 이미지 공유하기 let vc = UIActivityViewController(activityIte..
share * 원래 Observable은 subscribe될 때만 create클로저를 호출하여 Observable을 생성 (== subscribe한 횟수만큼 새로운 시퀀스 생성) // API를 요청, 결과를 반환하는 시퀀스라 가정 let networkRequestAPI = Observable.of(100) let result = requestMoreButton.rx.tap .flatMap { networkRequestAPI } result .map { $0 > 0 } .bind(to: requestMoreButton.rx.isHidden) .disposed(by: bag) result .map { "Count:\($0)" } .bind(to: remainCountLabel.rx.text) .dispose..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bwGIgH/btqE6MB6HSb/n3KkTCDEfricnED6TYbJKK/img.png)
Share() 연산자는 자원을 공통으로 사용 할 수 있게끔 하는 개념 1. Share을 쓰는 이유 1) MVVM설계 // ViewModel 정의 class SomeViewModel { let result = userTappedButton .flatMapLatest {apiService.rx.getFriend() } name = result.map {$0.name} phone = result.map {$0.phone} } // ViewController에서 ViewModel과 UI연결 class { ... viewModel.name .bind(to: lblName.rx.text) // UI와 ViewModel간의 연결 .disposed(by: bag) viewModel.phone .bind(to: lblP..