일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 파이썬
- 토플
- 인프런파이썬
- 유학토플
- 인프런오리지널
- rxswift
- 교환학생토플
- 노드JS
- 인프런강의
- 파이썬중급
- 파이썬웹크롤링
- Python3
- 파이썬중급강의
- 프로그래머스
- 토플공부수기
- 스위프트
- IOS
- uikit
- 카카오톡채팅봇
- nodeJS
- 웹크롤링
- JS
- 인프런파이썬강의
- 우리를위한프로그래밍
- 자바스크립트
- 리프2기
- swift
- 인프런
- IOS프로그래밍
- SwiftUI
- Today
- Total
목록앱 (52)
먹고 기도하고 코딩하라
Rx는 무엇인가? ReactiveX 공식 사이트에 가보면, Rx는 관찰 가능한 스트림과 비동기 프로그래밍을 위한 API(An API for asynchronous programming with observable streams)라고 적혀 있다. Rx는 Observer 패턴을 더욱 확장해서, 데이터나 이벤트 시퀀스를 지원하며 개발자들이 프로그램에 갖는 로우레벨 스레딩, 동기화, 스레드 세이프(Thread-safety), 동시 데이터 구조나 논블로킹 I/O 등에 대한 걱정을 없애고 Observable을 조정할 수 있는 연산자를 지원한다. Rx는 Observer, Iterator 패턴, 그리고 함수형 프로그래밍의 좋은 부분만을 합한 것과 같다고 한다. 이벤트 스트림이나 데이터 스트림을 생성하고(Create),..
요약 UIFont에 커스텀 메소드를 추가해주면 됩니다. 빨간 글씨 나올 때까지 쭉 내려보세요. 본문 애플 Human Interface Guidelines의 Typography 항목을 보면 Dynamic Type에 대한 내용이 있다. Dynamic Type은 Best practices 첫 번째에 등장할 정도로 중요한 내용이다. Strive to maintain a minimum font size that most people can read easily. 여기서 강조하는 것은, 최소 폰트 크기는 대부분의 사람이 쉽게 읽을 수 있을 정도를 유지하라는 것이다. Dynamic type의 정의 자체는 iOS, iPadOS, tvOS, watchOS에서 스크린에 나타나는 텍스트 크기를 설정하게 하는 기능인데, 이걸..
2줄 요약: 이 글은 API로 데이터를 받아와서 리스트뷰로 띄우는 중에 생긴 에러를 다루고 있음. 데이터를 json 디코딩해서 모델로 변경하지 않고 바로 쓰고 있다면, 실제로는 값이 없는 프로퍼티를 참조했을 때 이런 에러가 날 수 있음. 본문 원래 swift로 개발하던 앱이 있었는데 언니가 안드로이드로도 내라고 해서 플러터로 급 개발 중이다. 검색 기능을 구현하던 중 문제가 생겼다. RangeError (end): Invalid value: Only valid value is 0: 4 검색해보니 0: 1 이런 건 있어도 0: 4 이런 에러는 없었다. 왜 이런 에러가 나는지 알 수가 없었음. 이쯤에서 API에 데이터 요청을 하고 받아와서 위젯에 그리는 코드를 한 번 살펴보자. // 데이터 요청 getJSO..
한줄요약 : let calendar = FSCalendar(frame: .zero) calendar.delegate = self FSCalendarDelegateApperance 프로토콜 준수하고 이 코드 추가 extension ViewController: FSCalendarDelegateAppearance { // 토요일 파랑, 일요일 빨강으로 만들기 func calendar(_ calendar: FSCalendar, appearance: FSCalendarAppearance, titleDefaultColorFor date: Date) -> UIColor? { let day = Calendar.current.component(.weekday, from: date) - 1 if Calendar.curre..
스크롤뷰의 Content Layout Guide, Frame Layout Guide 등에 대해서는 설명하지 않고 어떻게 만드는지만 살펴봅니다. 코드, 스토리보드 2가지 방식과 세로/가로 방향 스크롤뷰를 만드는 방법을 모두 다룹니다. 이 글을 참고했으며 좀 더 자세하게 작성했습니다. 0. 스크롤뷰의 이해 스크롤뷰는 실제로 스크롤돼서 보일 뷰들을 담는 Content Layout과 스크린에 보이는 만큼의 Frame Layout을 가집니다. (Content Layout 영역 >= Frame Layout 영역) 이걸 확실히 이해를 해야 Frame Layout에 priority 왜 낮추는지도 이해가 됩니다. 1. 코드 일단 스토리보드를 삭제하고 구현한다고 가정하고 ViewController 소스 코드만 적습니다. ..
어떤 문서를 보다가 pushViewController와 show 방법을 이야기하면서 필자는 show를 더 선호한다고 쓰인 문장을 봤다. 궁금해졌다. pushViewController와 show 방식 모두 내비게이션 컨트롤러 기반으로 움직이는 게 아닌가? 좀 더 자세히 살펴봐야겠다는 생각이 들어 문서를 찾아보고, 실험도 함께 곁들이려 한다. 문서 일단 pushViewController부터 본다. pushViewController(_:animated:) 뷰 컨트롤러를 수신자(receiver)의 스택에 푸시하고 디스플레이를 업데이트한다. func pushViewController( _ viewController: UIViewController, animated: Bool ) viewController : 스택..
1시간 정도 정말 많이 찾아보고 문서를 읽고 또 읽었지만 등잔 밑이 어둡다고 문제는 가까이에 있었다. 요약 : Podfile의 platform 주석을 해제하고, 현재 개발하는 프로젝트의 빌드 타겟에 맞는 버전을 적어주세요. 만들고 있는 앱에 파이어베이스를 붙여 구글로 로그인할 수 있도록 서비스를 만들고 있었다. 다음은 pod init 후 workspace를 열어 AppDelegate 파일을 수정한 코드이다. import UIKit import FirebaseCore import GoogleSignIn @main class AppDelegate: UIResponder, UIApplicationDelegate, GIDSignInDelegate { func application(_ application: UI..
UICollectionView를 알아보기 전에 먼저 Collection View라는 건 뭘 뜻하는건지 알아보자. 문서를 참고했다. Collection View는 설정할 수 있고, 커스텀할 수 있는 레이아웃을 이용해 중첩된 뷰를 보여주는 역할을 한다. 컬렉션 뷰는 순서가 있는 콘텐츠(사진 앱의 사진 그리드 등)의 셋(set)을 관리하고 시각적으로 표현한다. 컬렉션 뷰는 다른 많은 객체들과 함께 쓰일 수 있다. Cells. 셀은 콘텐츠 하나하나에 대해 시각적 표현 제공 Layouts. 레이아웃은 컬렉션 뷰 콘텐츠에 시각적으로 잘 배치된 레이아웃 제공 data source object. 이 데이터 소스는 UICollectionViewDataSource 프로토콜을 따라야 하고, 컬렉션 뷰에 데이터를 제공하는 역..