- orthogonalScrollingBehavior
- iTerm
- Keychain
- 스위프트
- UIKit
- github
- 애플사이다
- 앱개발
- HIG
- Combine+UIKit
- Swift
- Split View
- WWDC
- Apple
- Human Interface Guidelines
- UILabel
- LanguageGuide
- GOF
- 야곰아카데미
- TOSS
- Accessibility
- 애플
- lineBreakMode
- iPad
- lineBreakStrategy
- 전달인자 레이블
- CollectionView
- IOS
- DiffableDataSource
- 디자인패턴
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
목록iOS/영문 공식문서 뜯어보기-iOS (15)
애플사이다의 iOS 개발 일지
UserDefaults 관련 코드를 보다가 UserDetaults.standard.string(forKey:) 메서드를 봤는데, object(forKey:) 메서드와의 차이점이 궁금해서 검색해봤다. UserDefaults, 기본적인 key-value pair와의 차이점에 대한 기본적인 설명은 생략했다. UserDefaults 관련 메서드는 이렇게 다양한데, 저장값을 string, bool, integer, double 등 타입별로 구분하면 번거로우니까 한 방에 퉁쳐서 저장할 수 있는 object를 쓰는 게 낫지 않을까? 하는 생각을 했다. -> 결론적으로 아니었음 공식문서 우선 공식문서를 살펴봤다. 대표적인 메서드인 object(forKey:) / bool(forKey:) / string(forKey:)..
앱이 Background 상태에 있더라도 사용자에게 알림을 띄우는 기능인 Push Notification에 대해 알아보자. *Notification의 디자인은 HIG 문서 요약본 포스트를 참고 이번 포스팅에서는 공식문서를 훑어보고, 다음 포스팅에서 Notification 관련 4가지 주체에 대해 정리하면서, 예제 코드를 작성해볼 계획이다. Push Notification이란? 특정 앱에서 사용자에게 알림을 띄우는 것을 말하는데, 아래 화면처럼 잠금 화면, 알림 센터, 배너, 사운드, 배지 등의 형태가 있다. 여기서 배지 (Badge)란 아래처럼 앱 우상단에 빨간 점으로 표시되는 형태이다. 참고 - What is a badge? APNs란? APNs는 Apple Push Notification servic..
APNs (Apple Push Notification service)를 스터디하다가 오랜만에 HIG 문서를 읽게 됐다. 참고 - Notifications HIG 문서 요약 Notification은 사용자에게 적당한 시간에 (timely), 중요한 정보를, 한눈에 (at a glance) 전달한다. 사용자에게 notification을 보내기 전에 반드시 사용자의 동의 (consent)를 얻어야 한다. 사용자가 동의한 이후, 대부분의 사용자는 설정 앱을 통해 notification 스타일과 notification의 중요도에 따른 알림 시간을 정한다. Anatomy 플랫폼에 따라 notification의 다양한 스타일을 활용할 수 있다. 배너 : 잠금 화면 (lock screen), 홈 화면, 데스크탑 배지 ..
저번 포스팅 [Keychain] 공식문서 읽는 방법 - 공식문서만으로 키체인을 이해해보자 에서 Keychain 이론을 다뤘다. 이제 간단한 예제를 통해 Keychain을 사용해보자. *이 예제에서는 비밀번호를 저장하지만, 실제로는 사용자 인증 등 토큰을 저장하는 형태로 흔히 사용한다. 1. Keychain에 비밀번호 추가 (등록)하기 먼저 Keychain에 저장할 데이터 타입을 정의하자. 이번 예제에서는 password만 저장하지만, 다른 프로퍼티를 추가/저장하는 것도 가능하다. struct Credentials { // var username: String // 이번에는 필요 없음 var password: String } Keychain 관련 Error 타입도 정의하자. enum KeychainErro..
공식문서를 읽다 보면 링크를 타고 다른 문서를 읽게 되고, 또 그 안에 링크를 타고 다른 글을 읽어야 하고... 가 반복되기 때문에 지칠 때가 있다. 이번 포스트에서는 공식문서들을 효율적으로 떠돌아다니는 방법을 소개하고자 한다. 다른 키워드에 비해 Keychain에 대한 공식문서 양이 (그나마) 방대하지 않아서 (← 수박 조언 감사해요) 오직 공식문서만으로 Keychain을 이해해보는 시도를 했다. 아래의 떠돌이 과정 (빨간색 글씨 참고)을 통해 공식문서의 중요도를 판단하는 데 도움이 되었으면 한다. 1. 최상단의 문서 - Keychain Services Keychain에 대한 설명이 시작되는 문서는 Keychain Services이다. 요약 : Keychain service란 사용자 대신 작은 데이터 ..
CHCR은 Compression-Resistance 및 Content-Hugging를 뜻한다. 화면에 여러 가지 View를 나타내는 경우, 이 CHCR 값을 조정하게 되는데 (특히 StackView 내부에 여러 가지 View를 ArrangedSubviews로 올리는 경우) 관련 개념을 알아보다가 공식문서에서 몇몇 오류를 발견해서 정리해봤다. 🍎 Intrinsic Size란? 원래는 View의 위치 및 크기 (Origin 및 Size)를 모두 지정해줘야 하는데, 📐 일부 View는 View 내부의 컨텐츠에 따라 자체적으로 Size를 가지도록 되어있다. 이걸 Intrinsic Size (내재적인 크기, 자체적인 크기)라고 부른다. 예를 들어 Button의 Intrinsic Size는 뭘까? “Button..
DiffableData을 처음 들어봤다면, [CollectionView] Diffable DataSource 이해하기 (1/3) - Advances in UI Data Sources (WWDC19) 포스팅을 참고 [CollectionView] Diffable DataSource 이해하기 (2/3) - 흔히 하는 실수, Modern Collection Views 예제코드 포스팅을 참고 orthogonalScrollingBehavior을 처음 들어봤다면, [CollectionView] Section마다 다른 Scroll Direction 설정하기, Carousel Paging 구현하기 (feat. AppStore) 포스팅을 참고 이전 포스팅에서 다룬 내용을 써먹어보자. CollectionView의 Diffa..
저번에는 [CollectionView] Diffable DataSource 이해하기 (1/3) - Advances in UI Data Sources (WWDC19) 포스팅에서 Diffable DataSource의 장점과 기초 개념을 알아봤다. 이번에는 Implementing Modern Collection Views 예제 코드를 보면서 이해도를 높여보자. 흔히 하는 실수-1 Diffable DataSource는 간단해 보이지만 막상 써보면 막히는 부분이 있는데, 보통 프로젝트에서는 여러 종류의 Section을 사용하거나, 여러 종류의 Custom Cell을 쓰기 때문인 것 같다. 특히 처음 사용할 때 가장 흔히 발생하는 문제가 ❗ "여러 Section에 동일한 Item을 반영하는 것" 때문이다. 이 경..