글의 내용을 보충하는 의견, 잘못된 내용을 수정하는 의견 모두 다 환영합니다. NSFetchedResultsControllerDelegate 프로토콜에 iOS 13부터 DiffableDatasource를 지원하기 위해 등장한 controller(_:didChangeContentWith:) 메소드가 있는데, ViewContext와 함께 이 메소드를 사용할 경우 놓칠 수 있는 주의점이 있어서 기록해둡니다. 문제 상황 한 개의 NSManagedObject를 생성하고 저장한 뒤, 이를 반복할 때 한 개의 셀만 애니메이팅 되어야하는데 두 개의 셀이 애니메이팅함. 다음과 같은 상황을 가정 - 사용하는 ViewContext는 NSPersistentContainer에서 기본 제공하는 NSManagedObjectCont..
결론: 구글 로그인 요청하는 순간에 요청 권한 범위를 설정할 수 있게 하는 기능이 GoogleSignIn-iOS 6.2.0에 추가될 예정. iOS 구글 로그인, GoogleSignIn-iOS 프로젝트는 6.0.0 버전을 기점으로 오픈소스로 전환되었습니다. 그런데 동시에 사용자에게 추가 권한을 요청할 때 Incremental authorization pattern을 권장하게 되면서 기존과는 다른 사용자 경험이 생겼습니다. 이전에는 구글 드라이브를 앱 내에서 사용하기 위해 구글 로그인을 시도하면, 로그인과 동시에 기본적인 권한(이메일, 아이디 등) + 드라이브 읽기 권한을 동시에 요청할 수 있었다면, Incremental authorization에서는 구글 로그인 후 기본적인 권한을 획득 한 후에 다시 추가..
MemoryBread - 편리한 암기 생활, 암기빵! App Store 다운로드 링크 [암기빵은 문장의 암기를 도와주는 앱입니다] 직접 문장을 쓰고 종이로 가리는 건 이제 그만! 암기빵으로 쉽게 단어를 가려봐요. 판례처럼, '길지만 정확하게 외워야 하는 문장'이 있을 때, 암기빵으로 단어를 가려가며 외워보세요. 암기빵이 당신의 암기 생활을 도와줍니다. [암기빵은 어떻게 사용하나요?] 먼저 암기하고 싶은 문장을 적어요. '편집' 버튼을 눌러서 색필터를 선택하고, 가리고 싶은 단어를 터치해서 선택해요. 색필터 선택이 끝나면 '완료' 버튼을 누르고, 맨 아래 색필터를 선택해주면 단어를 가릴 수 있어요! 가린 단어를 살짝 보고 싶으면, 단어를 직접 터치! 그러면 그 단어만 살짝 볼 수 있어요. [서비스 이용 필..
22년 3월 21일 업데이트 (짝짝) GMT+9 22년 3월 9일을 기준으로 이 포스트에서 다뤘던 PR이 GoogleSignIn-iOS 프로젝트에 머지되었습니다. 다시 말해... 이 글에서 코드를 수정하라는 부분은, 이제 새로운 버전이 릴리즈 된다면 수정할 필요가 없어지는 거겠죠!! 크 구글 프로젝트에 PR 날리고 머지 된다니 저도 언젠가 해보고 싶네요. 해당 PR링크를 남깁니다. https://github.com/google/GoogleSignIn-iOS/pull/30 Add the option to choose additional scopes at sign-in by AntonKozlovskyi · Pull Request #30 · google/GoogleSignIn-iOS github.com (본 ..
https://developer.apple.com/documentation/speech/recognizing_speech_in_live_audio Apple Developer Documentation developer.apple.com 위의 글을 번역했습니다~ 몇몇군데는 굉장한 의역이 들어가있을 수 있어서... 적당히 읽고 이상한 문장은 원문을 보시는 게 좋습니다 +_+. 이 예시 앱은 애플에서 제공하였고, 라이브 음성을 실시간으로 인식해서 글로 바꿔주는 앱입니다. 번역 시작. Configure the Microphone Using AVFoundation 이 앱은 디바이스의 마이크와 소통하기 위해 AV Foundation을 사용한다. 특히, 앱은 앱의 오디오 상호작용과 시스템의 나머지 부분을 관리하기 위..
전체 정리 지정 초기화 자동 상속조건 잘 이해하고, 언제 부모 클래스의 지정 초기화를 호출해야하는지를 이해해라. 또 프로퍼티를 바로 할당하지 않고 초기화 메소드에서 초기화한다면, 내 클래스 것 먼저 초기화하고 부모의 지정 초기화 메소드를 호출해야 한다(이것이 1단계 초기화). 이 초기화가 끝나면 각자 입맛에 맞게 프로퍼티 초기화, 메소드 호출 등을 할 수 있게 된다(self 참조도 이때부터 안전하게 가능) 초기화 종류 스위프트에는 두 가지 종류의 초기화 메소드가 있습니다. 바로 지정 초기화 메소드(designated initializer)와 편의 초기화 메소드(convenience initializer)입니다. 둘 사이에는 호출 규칙이 3가지 있습니다. 호출규칙1. 지정 초기화 메소드는 부모 클래스의 ..
Hashable 프로토콜은 '정수형 해시값으로 자료형을 나타낼 수 있음' 정도의 의미를 가집니다. Swift의 기본 Collection 중 Set, Dictionary는 해시테이블로 구현이 되어있기에 Set의 아이템 Dictionary의 Key로 사용하고자 하는 자료형은 Hashable 프로토콜을 준수해야 합니다. 이외에 Hashable 프로토콜을 공부하면서 정리가 필요했던 몇 가지 부분을 글로 남깁니다. Hashable 프로토콜은 Swift 4.1 부터 Equatable, Comparable과 마찬가지로 synthesized implement가 생김(특정 조건을 만족한 상태에서 프로토콜을 채택할 경우 프로토콜을 자동으로 구현해주는 것) Hashable 프로토콜의 synthesized im..
UIScrollView? Content View? 스크롤 뷰는 스크롤 뷰 그 자체와, 콘텐츠 뷰가 있다. 스크롤 뷰는 콘텐츠를 들여다보는 프레임이고, 콘텐츠 뷰는 그 프레임이 돌아다닐 콘텐츠를 말한다. 그래서 스크롤 뷰는 커봤자 아이폰 화면크기만하고 콘텐츠 뷰는 엄~청 커질 수 있다. ScrollView, ContentView Auto Layout 설정 스크롤뷰 오토레이아웃은 다음과 같은 단계를 따르면 된다 스크롤 뷰를 씬에 추가하고, 일반 뷰처럼 constraint를 설정한다 스크롤 뷰 안에 View를 추가한다(이때 View의 이름을 Content View로 해두면 좋음) Content View의 top, bottom, leading, trailing을 스크롤뷰에 맞춘다. 이제 Content View는..
Intrinsic content size란 자신의 content size에 따라서 결정되는 뷰 사이즈를 말한다. 뷰 내뷰의 컨텐츠에 따라서 자신의 사이즈를 잡는 label, button 등은 intrinsic content size가 있어서 자신의 height, width를 알고 있다. 그래서 좌상단에 top, leading constraint만 줘도 잘 붙는다. UIView는 위와 같은 조건의 constraint를 주면 width, height를 모르겠다고 뜬다. size inspector에서 Intrinsic size의 place holder를 만들어두면 임시로 크기를 정할 수 있는데, 이거는 인터페이스 빌더에서 임시로 적용되는 거고 런타임에는 적용되지 않는다. 그래서 UIView의 Intrinsic..
UICollectionView 를 사용하면서 사용자가 셀을 터치했을 때 간단한 애니메이션을 주고 싶었습니다. 그래서 여러 animate들을 적용해보던 중에 괜찮은 효과를 적용할 수 있어서 정리하였습니다. 적용한 코드 collectionView의 셀을 터치했을 때 사용자에게 터치 피드백을 주기위해서 사용하였다. CGAffineTransform(=아핀 변환)을 사용하여 셀의 크기를 살짝 줄였다 되돌렸고 이 때 스프링 효과를 주었다. 코드는 아래와 같다. func collectionView(_ collectionView: UICollectionView, didHighlightItemAt indexPath: IndexPath) { if let cell = collectionView.cellForItem(at: ..
- Total
- Today
- Yesterday
- ES6
- 게이밍모니터
- 카카오인턴십
- 한성모니터
- docker-compose
- 도커 이미지
- docker image
- QHD모니터
- 소프트웨어마에스트로11기
- Swift
- docker
- 데일리
- 개인정보처리방침
- 사이드 프로젝트
- React Native
- tensorflow
- 도커
- 앱출시
- 144hz모니터
- 평면모니터
- 제발태그그만
- iOS #코코아터치
- 출석하냥
- ios
- 코코아터치
- 왕국타이머
- dockerfile
- 암기빵
- 간단정리
- docker tag
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |