일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- UICollectionView
- swiftUI
- UITextView
- RxCocoa
- Observable
- combine
- SWIFT
- tableView
- uiscrollview
- rxswift
- 리펙토링
- HIG
- Refactoring
- 리펙터링
- Protocol
- 클린 코드
- swift documentation
- clean architecture
- Xcode
- ribs
- Clean Code
- Human interface guide
- 애니메이션
- uitableview
- ios
- 스위프트
- 리팩토링
- collectionview
- map
- Today
- Total
목록2024/04 (13)
김종권의 iOS 앱 개발 알아가기
이미지 prefetch, 이미지 다운로드 SDWebImage를 사용하여 쉽게 prefetch, 이미지 다운로드가 가능 prefetch를 해놓으면 이미지를 memory, disk 캐싱해놓는데 큰 이미지나 즉각적으로 화면에 보여져야하는 이미지들은 prefetch해놓는것이 중요 SDWebImage의 캐싱 구현 코드 분석은 이전 포스팅 글 참고 이미지 prefetch 이미지를 관리할 때는 보통 로컬이 아닌 서버로부터 url을 받아서 이 url로 이미지를 띄워주는데, 이 때 url을 가지고 이미지를 바로 여러장을 띄워주려고 할때 시간이 오래 걸리는 문제가 존재 prefetch를 사용하면 SDWebImage에서 memory, disk 캐싱하여 효율적으로 이미지 표출이 가능 ImageManager라는 이름으로 pre..
safe area 경고 표출 보통 아래처럼 keyWindow로 구하면 warning 문구가 표출 // 'keyWindow' was deprecated in iOS 13.0: Should not be used for applications that support multiple scenes as it returns a key window across all connected scenes let window = UIApplication.shared.keyWindow let safeAreaInsets = window?.safeAreaInsets iOS 13부터 Scene이라는 개념이 생겼는데, 이 scene에 접근해서 window를 가져와야함 safeAreaInset 구하는 방법 connectedScen..
메소드 파라미터 주석 아래처럼 myFuction 함수 위쪽에다가 주석을 작성해놓으면 quick help에서 quick help 단축키) option + 왼쪽 마우스 클릭 (마크다운 결과) 이 파라미터 템플릿은 주석 단축키로 생성이 가능 option + cmd + / (함수를 먼저 드래그하여 블럭을 만든 후 위 단축키 실행)
isMultiple(of:) 연산자 나누어 떨어지는지 판단하는 연산자 // bad print(6 % 3 == 0) // true // good print(6.isMultiple(of: 3)) // true compactMapValues 연산자 딕셔너리의 value값을 mapping하는 연산자 let dictionary = ["a": "1", "b": "2", "c": "three"] // bad var convertedDictionary1 = [String: Int]() dictionary .forEach { if let val = dictionary[$0.key], let int = Int(val) { convertedDictionary1[$0.key] = int } } print(convertedDi..
1. map과 flatMap의 차이 - CollectionType에서 쓰임 CollectionType에서 접근: array와 같은 각 개별 요소에 접근하여 변화를 주는 것 만약 Element중에 Optional값이 있다면 flatMap은 unwrap을 해주고, map은 unwrap을 해주지 않음 단, flatMap은 deprecated되어 compactMap 사용 // 'flatMap' is deprecated: Please use compactMap(_:) for the case where closure returns an optional value let c = [1, 2, Optional(3)] .flatMap { $0 } print(c) // [1, 2, 3] 2. map과 flatMap의 차이 ..