일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Xcode
- uiscrollview
- UICollectionView
- MVVM
- SWIFT
- 애니메이션
- 리펙터링
- uitableview
- ios
- Human interface guide
- swift documentation
- collectionview
- Clean Code
- 클린 코드
- combine
- tableView
- HIG
- 리팩토링
- map
- 스위프트
- 리펙토링
- ribs
- Observable
- Protocol
- Refactoring
- RxCocoa
- clean architecture
- swiftUI
- rxswift
- UITextView
- Today
- Total
목록분류 전체보기 (1635)
김종권의 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의 차이 ..
1. Privacy manifest 개념, 사용해야하는 이유 (PrivacyInfo.xcprivacy) 2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy) 3. Privacy manifest의 privacy report 사용 방법 Privacy Report 란? Xcode에서 앱을 빌드하여 앱스토에 제출 할 때, Xcode15에서는 앱 프로젝트의 모든 개인정보 보호 목록을 집계하고 선언된 데이터 사용을 요약하는 개인정보 리포트 생성이 가능 이 내용은 모두 PrivacyInfo.xcprivacy에 작성된 내용을 바탕으로 .pdf파일로 생성 Privacy Report 사용해보기 Xcode15 > Product > Archive 선택 빌드가 완료되면 목록에서 빌드된 프로..
1. Privacy manifest 개념, 사용해야하는 이유 (PrivacyInfo.xcprivacy) 2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy) 3. Privacy manifest의 privacy report 사용 방법 Prvacy Manifest 작성 Xcode > 파일 생성 > privacy 검색 > App Privacy 선택 생성된 형태 손바닥 모양의 아이콘으로 되어 있고, plist처럼 표출 (최초 만들면 App Privacy Configuraton 키값만 있고 value값은 없으므로, 편의를 위해 유명한 라이브러리인 Alamofire에 어떻게 작성되어 있는지 확인) Alamofire깃을 clone하고 프로젝트를 열어 PrivacyInfo 파일을 확..
1. Privacy manifest 개념, 사용해야하는 이유 (PrivacyInfo.xcprivacy) 2. Privacy manifest 적용 방법 (PrivacyInfo.xcprivacy) 3. Privacy manifest의 privacy report 사용 방법 Privacy manifest 란? 앱을 사용하는 사람들로부터 연락처나 개인 정보를 수집할 때 왜 수집하는지 기입하는 것 애플에서는 2024년 봄부터 앱 심사때 privacy manifest 내용을 확인 왜 privacy manifest를 강제화하는지? 일종의 개인 정보 보호 보고서라고 할 수 있음 개발자와 사용자에게 명확하지 않은 방식으로 사용자 개인 정보 보호에 영향을 미칠 가능성이 있을 수도 있음 개인정보 매니페스트 파일을 제공하여 앱..