이번 포스트에서는 아이폰과 애플 워치 간 데이터를 주고 받는 방법에 대해 살펴보도록 하겠습니다. 애플 워치의 경우 단독으로 동작하는 앱도 있지만 대부분은 Host App과 통신하면서 동작하는 App이 많습니다. 심박수, 걸음 수 등 각종 건강 정보 역시 Host App (iPhone)으로 데이터를 전송하면서 동작합니다. 이렇듯 애플 워치와 아이폰 간 데이터를 주고 받는 방법을 아는 것은 굉장히 중요합니다. XCode 프로젝트 생성하기 iOS App with Watch App 을 선택하여 아이폰과 함께 동작하는 (독립적이지 않은) App을 개발하도록 선택해줍니다. 프로젝트 이름을 적절하게 입력해주시고 기타 설정은 기본 값을 유지하도록 합니다. 레이아웃 구성하기 프로젝트 생성이 완료되었다면 레이아웃을 구성할..
이번 포스트에서는 Today Extension올바르게 사용하는 방법에 대해 알아보도록 하겠습니다. Today Extension은 지난 포스트에도 한번 설명한 바가 있듯이 알림 센터에 나오는 위젯이라고 생각하시면 됩니다. Host APP을 실행하지 않고도 간단한 정보를 간편하게 사용자에게 제공해주기 위해 사용하는 요소입니다. Today Extension에서도 Core Data와 API Request를 할 수 있습니다. 이 때 주의해야 할 점이 있습니다. 바로 Today Extension의 View Controller의 Life Cycle에 대한 이해가 중요합니다. 왜 그럴까요? Today View Controller는 사용자가 홈 화면에서 가장 왼쪽 화면으로 스와이프하거나 알림센터를 내릴 때 화면에 나타납..
Core Data의 CRUD (Create, Retrieve, Update, Delete)를 구현할 때 Fetched Result Controller를 구현하여 사용할 수 있습니다. Core Data는 영구적으로 어떤 데이터를 저장할 수 있도록 해주는 도구인데, 일반적인 Database와는 조금 다른 양상을 보입니다. 하지만 데이터베이스와 유사한 구조를 가지고 있으며 관계 또한 지정할 수 있기 때문에 직관적으로 데이터를 정형화할 수 있습니다. User Defaults와 다른 점은 User Defaults는 Key-Value의 구조를 가지고 있다면 Core Data는 Entity에 다양한 Key들이 있고 Entity에는 Key에 해당하는 값들이 존재합니다. 관계는 데이터베이스에서 1:1, 1:N, N:1,..
이번 포스트에서는 Swift에서 예외를 정의하고 발생하는 방법에 대해 알아보도록 하겠습니다. Swift에서는 예외(Exception)를 Error라고 표현합니다. Swift에서 에러는 Error Protocol을 따르는 타입의 값으로 표현할 수 있습니다. Enum을 사용하여 예외를 정의할 수 있습니다. enum AppError: Error { case invalidSelection case insufficientFunds(coinsNeeded: Int) case outOfStock } 예외를 발생시킬 때는 아래처럼 사용할 수 있습니다. throw AppError.insufficientFunds(coinsNeeded: 4) 예외/에러 핸들링 (Exception/Error Handling) Swift에서는 ..
이번 포스트에서는 Struct와 Class에 대하여 정리해보도록 하겠습니다. 아무 생각 없이 쓰다가 문득 이런 생각이 들 수도 있는데요 둘이 비슷한 것 같은데 왜 굳이 만들어 놓았을까? 과연 정말 비슷하면 만들어 놓았을까요? Swift에서는 Value-Type(값 타입), Reference-Type(참조 타입)을 제공하고 있습니다. JAVA에서도 이런 비슷한 이야기를 들은 적이 있을텐데 Call-By-Value, Call-By-Reference 가 그것입니다. 단순히 구조적인 차이부터 시작해서 실제 프로그램이 구동할 때 어떤 차이가 보이는지 알아보도록 하겠습니다. 차이점 1. 구조체는 Value-Type, 클래스는 Reference-Type struct Structure { var structValue ..
2019년 11월 15일 Notissu 앱 출시 심사를 올렸다. 우리 학교의 모든 학부의 공지사항을 한 번에 볼 수 있는 어플리케이션이다. Swift 5 기반으로 구현되었으며 MVP 패턴으로 개발하였다. 조만간 ReactorKit으로 아키텍처 변환을 진행할 예정이다. 정말 정보 제공을 목적으로 한 앱이라 수익 모델 하나 없으며 개인정보를 일체 취급하지 않아 이용자가 부담 없이 사용할 수 있는 어플리케이션이라고 생각한다. 2019년 11월 17일 앱스토어 심사 승인 완료 심사가 나는 대로 스토어 링크를 걸도록 하겠다. GitHub Link (Open Source Application for iOS) https://github.com/della-padula/Notissu della-padula/Notissu..
https://github.com/della-padula/Elliotable della-padula/Elliotable Contribute to della-padula/Elliotable development by creating an account on GitHub. github.com GitHub Star 하나씩 부탁드립니다 :) iOS 개발 시 사용할 수 있는 라이브러리를 개발하였다. 해외 대학교도 비슷하겠지만 강의 정보를 리스트(배열)로 전달해주면 해당 아이템들이 시간표에 추가되어 보여주는 라이브러리다. 선 색, 선 두께, 배경, 각 강의별 폰트 크기, 폰트 굵기, 요일 개수, 요일 구성 등 다양한 커스텀 옵션들을 제공해준다. 언어는 Swift 5.1 버전을 사용하였으며 iOS 11.0이상 버전의..
- Total
- Today
- Yesterday
- Rxjava
- 알고리즘
- watchos
- Swift
- 상속
- Reactive programming
- 아이폰
- Apple Watch
- Kotlin
- SwiftUI
- Auto Layout
- 애플워치
- java
- 스위프트
- 함수형프로그래밍
- CloudComputing
- XCode
- 컬렉션
- databinding
- 오토레이아웃
- 코틀린
- 안드로이드
- 함수형
- C++
- Notissu
- retrofit
- ios
- android
- apple
- Elliotable
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |