이번 포스트에서는 Today Extension올바르게 사용하는 방법에 대해 알아보도록 하겠습니다. Today Extension은 지난 포스트에도 한번 설명한 바가 있듯이 알림 센터에 나오는 위젯이라고 생각하시면 됩니다. Host APP을 실행하지 않고도 간단한 정보를 간편하게 사용자에게 제공해주기 위해 사용하는 요소입니다. Today Extension에서도 Core Data와 API Request를 할 수 있습니다. 이 때 주의해야 할 점이 있습니다. 바로 Today Extension의 View Controller의 Life Cycle에 대한 이해가 중요합니다. 왜 그럴까요? Today View Controller는 사용자가 홈 화면에서 가장 왼쪽 화면으로 스와이프하거나 알림센터를 내릴 때 화면에 나타납..
이번 포스트에서는 Swift에서 제공하는 Collection 타입에 대해 알아보도록 하겠습니다. Swift에서는 Collection Type으로 Array (배열), Dictionary (딕셔너리), Set (집합) 을 제공합니다. Objective-C에서는 Immutable과 Mutable이 구분되어 있었는데 Swift에서는 var와 let으로 그 기능을 사용할 수 있습니다. var로 정의하게 되면 Mutable이 되는 것이며 let으로 정의되면 Immutable이 됩니다. (예를 들어, NSMutableArray와 NSArray는 swift에서 var arr: [Int]? / let arr = [Int]() 와 같이 사용할 수 있습니다.) var arrayMutable: [Int]? // 변경 가능 ..
이번 포스트에서는 Swift에서 문자열과 문자에 대해 살펴보도록 하겠습니다. Swift에서 제공하는 String은 Foundation 프레임워크의 NSString이 bridge된 타입이기 때문에 NSString의 메소드를 String에서 캐스팅 없이 사용 가능합니다. (NSString은 Objective C에서 사용하는 문자열 타입입니다.) 문자열은 큰 따옴표(“)로 묶어 표현 합니다. 여러줄의 문자열을 사용하고 싶은 경우 큰 따옴표 3개(“””)로 묶어서 사용할 수 있습니다. 여러줄 문자열을 사용하며 줄바꿈을 하고 싶으면 백슬래쉬(\)를 사용합니다. let quotation = """ 나는 나와 연애를 했다. \ 너무 슬프지만 어쩔 수 없다. \ "연애를 하고 싶고 좋은 사람을 만나고 싶다." \ ""..
이번 포스트에서는 Swift의 기본 연산자에 대해 살펴보도록 하겠습니다. 할당 연산자 할당 연산자는 값을 초기화하거나 이미 설정된 값을 새로운 값으로 변경하는 역할을 가지고 있습니다. 아래와 같이 상수, 변수 모두 사용할 수 있습니다. 또한 튜플 형식을 사용하여 여러 개의 값을 한 번에 할당할 수도 있습니다. let num1 = 10 var num2 = 5 num2 = num1 // 결과 : num2 = 10, num1 = 10 let (numX, numY) = (10, 20) // numX는 10, numY는 20이 할당됩니다. C 혹은 Objective-C와는 달리 Swift에서 할당 연산자는 값을 반환하지 않는 특징을 하지고 있습니다. 즉, C 혹은 Objective-C에서 성공적으로 값이 할당된 ..
이번 포스트에서는 GitHub에서 제공하는 도구를 활용하여 이슈를 관리하는 방법에 대해 알아보도록 하겠습니다. GitHub에는 Project Board, Issue관리, Milestone 기능을 제공합니다. 본격적인 관리법을 소개하기에 앞서 Issue에 대해 알아보도록 하겠습니다. Issue의 전체적인 Flow 1. Isuee 발급 2. Issue 작업 3. Pull Request & Code Review 4. Issue 반영 & Close Repository에 들어가면 Issue라는 탭이 있습니다. 해당 탭을 누르면 위와 같은 화면이 나오는데 여기서 이슈를 등록할 수 있습니다. New Issue 버튼을 누르면 아래 화면이 나오게 됩니다. 이슈를 등록하는 화면입니다. 각 부분별로 살펴보도록 하겠습니다. ..
Agile 방법론에 대해 간단하게 잘 정리된 글이 하나있어 발췌하였습니다. 출저 : https://velog.io/@dooyou21/%EC%8A%A4%ED%94%84%EB%A6%B0%ED%8A%B8-%EC%8A%A4%ED%81%AC%EB%9F%BC-%EC%95%A0%EC%9E%90%EC%9D%BC 가장 익숙한 단어인 스프린트(Sprint)를 먼저 찾아보았다. 스프린트의 사전적 의미는 아래와 같다 스프린트(sprint): 육상 경기·수영 경기·스피드 스케이트 등의 단거리 레이스. 또는, 단거리를 전력(全力)으로 행하는 질주(疾走)나 역영(力泳). 단거리 전력질주. 이 정의를 일에 대입해서, 매우 크지 않은 태스크(단거리)를 적당한 기간(너무 길면 안됨! 단거리니까)동안 집중해서 전력질주하듯 업무를 수행하는..
이번 포스트에서는 iOS 플랫폼에서 제공하는 App Extension의 Lifecycle 생명주기와 Host App과 어떻게 Communication을 하는지 알아보도록 하겠습니다. App Extension은 iOS 8.0에서 새로 나온 기능으로, Host App과는 별개의 Process로 동작하는 확장 Framework입니다. App Extension은 App이 아니며 App 간에 이루어지는 Inter Process Communication 역시 아닙니다. 실행 시에도 App과는 완전히 다른 독립된 프로세스(process)로 실행되기 때문에 완전히 다른 주소 공간(Isolated address space)를 가지게 됩니다. App Extension의 동작 방식을 간략하게 그림으로 살펴보도록 하겠습니다...
이번 포스트에서는 GCD에 대해 알아보도록 하겠습니다. GCD는 Grand Central Dispatc의 약자로 대표적으로 Dispatch Queue라는 것이 있습니다. GCD는 멀티 스레드를 구현하기 위해 Apple에서 제공하는 API 입니다. Dispatch Queue Dispatch Queue는 응용 프로그램이 블록 개체 형태로 작업을 제출할 수있는 FIFO 큐입니다. Dispatch Queue는 작업을 직렬 또는 동시에 실행합니다. Dispatch Queue에 제출 된 작업은 시스템이 관리하는 스레드 풀에서 실행됩니다. 앱의 메인 스레드를 나타내는 Dispatch Queue를 제외하고 시스템은 작업을 실행하는 데 사용하는 스레드를 보장하지 않습니다. 작업 항목을 동기식 또는 비동기식으로 스케줄합니..
- Total
- Today
- Yesterday
- Apple Watch
- Elliotable
- Rxjava
- Kotlin
- android
- SwiftUI
- Reactive programming
- 컬렉션
- 스위프트
- ios
- 애플워치
- watchos
- Swift
- 함수형
- 코틀린
- databinding
- CloudComputing
- 안드로이드
- Notissu
- Auto Layout
- 함수형프로그래밍
- XCode
- retrofit
- apple
- 상속
- java
- 오토레이아웃
- 아이폰
- 알고리즘
- C++
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |