일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- RxCocoa
- HIG
- uitableview
- 애니메이션
- UICollectionView
- Clean Code
- 리펙터링
- ribs
- MVVM
- Observable
- uiscrollview
- Xcode
- Human interface guide
- UITextView
- map
- 스위프트
- 리펙토링
- tableView
- Protocol
- clean architecture
- 리팩토링
- rxswift
- swiftUI
- Refactoring
- swift documentation
- collectionview
- combine
- ios
- SWIFT
- 클린 코드
- Today
- Total
목록분류 전체보기 (1643)
김종권의 iOS 앱 개발 알아가기
1. 이미지 처리 - heic, heif 개념 2. 이미지 처리 - 회전 각도 메타 정보, 이미지 메타 다이터, imageOrientation (exif) 3. 이미지 처리 - 이미지 회전 메타 정보 제거 방법 (UIGraphics, CurrentImageContext) 안전한 이미지 처리 방법 (저번시간에 알아본 내용) * 아래 내용에 대한 구체적인 내용은 이전 포스팅 글 참고 EXIF 정보나 imageOrientation 정보가 다르고, 이미지를 이미지 서버에 업로드할 때 애초에 imageOrientation 정보를 제거하면 서로 혼돈이 없는 상태로 관리가 가능 아이폰 앨범에서 이미지 회전 메타 정보가 이미 적용된 결과를 보여주기 때문에, swift에서 사용할 때 메타 정보를 제거하고난 후 이미지 서..
1. 이미지 처리 - heic, heif 개념 2. 이미지 처리 - 회전 각도 메타 정보, 이미지 메타 다이터, imageOrientation (exif) 3. 이미지 처리 - 이미지 회전 메타 정보 제거 방법, 이미지 회전처리 이미지 회전 메타 정보 이미지 정보에는 항상 메타 정보와 함께 기록되는데, 아이폰에서 사진을 찍어도 메타 정보가 존재 아이폰에서 가로로 사진을 찍으면 회전 각도가 0이고, 세로로 사진을 찍으면 회전 각도가 반시계 방향 90도로 나타남 회전 각도 정보 확인 방법 아이폰에서 세로로 사진을 찍고 맥북에서 확인 미리보기 > 도구 > 속성 보기 클릭 일반 정보 창이 뜨는데 여기서 느낌표 아이콘 클릭 방향 정보가 존재 (해당 이미지) Swift에서 회전된 메타 정보 확인하기 - imageO..
1. 이미지 처리 - heic, heif 개념 2. 이미지 처리 - 회전 각도 메타 정보, 이미지 메타 다이터, imageOrientation (exif) 3. 이미지 처리 - 이미지 회전 메타 정보 제거 방법 (UIGraphics, CurrentImageContext) heic, heif 개념 HEIF (High Efficiency Image Format)는 MPEG에서 개발된 이미지 포멧 '히프' 또는 '헤익'이라고 발음 이미지 하나의 프레임이 아닌, 이미지 컨테이너를 의미 (H.265/HEVC 코덱) 아이폰에서 동영상을 찍으면 H264 또는 HEVC 포멧으로 저장되는데 이 때 HEVC안에 스틸 이미지 하나가 HEIF 형태 iOS 11과 macOS High Sierra에서 처음으로 사진, 동영상 저장..
shouldChangeCharactersIn에서 입력된 문자열 구하기 shouldChangeCharactersIn 메서드 호출 시점은 사용자가 키보드 입력했을때 호출되며 해당 문자를 허용할 것인지, 비허용할 것인지 true or false를 리턴하는 메서드 현재 타이핑한 문자는 string이고, 변경이 일어난 구간은 range값으로 표현 extension ViewController: UITextFieldDelegate { func textField( _ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String ) -> Bool { return true } } 이전에 입력되었던 문자열과 현..
1. weak self 동작 이해하기 - retain cycle이 발생하는 경우 2. weak self 동작 이해하기 - 외부에 weak self 선언하고 클로저에서 사용하는 경우 (#캡처리스트 [weak self] 리펙토링) weak self를 클로저 외부에서 사용 시 retain cycle이 발생할까? 예제를 위해 retain cycle이 발생하는 코드 준비 class A { private var closureEscaper: ((String) -> ())? func escape(closure: @escaping (String) -> ()) { print("escaping!") closureEscaper = closure } } class B { var name = "Jake" let a = A() /..
1. weak self 동작 이해하기 - retain cycle이 발생하는 경우 (#클로저, #escaping 클로저) 2. weak self 동작 이해하기 - 외부에 weak self 선언하고 클로저에서 사용하는 경우 (#캡처리스트 [weak self] 리펙토링) weak self 개념 escaping closure에서 순환 참조를 발생시키는 케이스에서 캡쳐 리스트로 weak 참조를 사용 순환참조란? 생성자가 할당 해제된 후에도 인스턴스가 할당 해제되지 않도록 하는 reference 상 순환을 이루는 상태 둘 이상의 인스턴스가 서로에 대한 strong 참조를 보유할 때 발생 구체적인 내용은 이전 포스팅 글 참고 사전지식) 클로저란? Closure(폐쇄): 클로저는 코드에서 전달 및 사용할 수 있는 2가..
1. Swift Charts 사용 방법 (#주식 차트, 주가) - BarMark 2. Swift Charts 사용 방법 (#주식 차트, 주가) - LineMark, RuleMark Swift Chart 개념 (이전에 알아본 개념) iOS 16+에서 사용가능 SwiftUI에서 제공하는 Chart를 사용하면 매우 쉽게 차트 그리기가 가능 LineMark 사용 LineMark: 그래프에서 (x, y)좌표들을 연결해 놓은 주식 차트 같은곳에서 사용 예제에 사용할 Date 구조체 정의 struct Data { let name: String = "jake" let date: Date let value: Int } let datas = [ Data(date: .now, value: 10), Data(date: .no..
1. Swift Charts 사용 방법 (#주식 차트, 주가) - BarMark 2. Swift Charts 사용 방법 (#주식 차트, 주가) - LineMark, RuleMark Swift Chart 개념 iOS 16+에서 사용가능 SwiftUI에서 제공하는 Chart를 사용하면 매우 쉽게 차트 그리기가 가능 Swift Chart 사용 방법 import Charts로 모듈 import import SwiftUI import Charts 차트에 들어갈 모델 정의 struct ToyShape: Identifiable { var type: String var count: Double var id = UUID() } data정의 struct ContentView: View { var data: [ToyShap..