이번 포스트에서는 Swift에서의 함수에 대해 알아보도록 하겠습니다. Swift에서 함수를 생성하는 방법은 다음과 같습니다. func 함수명(인자 이름: 타입) -> 리턴 타입 { (함수 본체) return (반환 값) } 정의한 함수를 호출하는 방법은 다음과 같습니다. func plus(num1: Int, num2: Int) -> Int { return num1 + num2 } print(plus(1, 2)) // 3 함수의 Parameter Value와 Return Value Parameter가 없는 함수 func sayHelloWorld() -> String { return "hello, world" } print(sayHelloWorld()) // Prints "hello, world" 복수의 P..
이번 포스트에서는 Swift 개발 시 고려할 수 있는 메모리 안정성에 대한 주제를 다뤄보도록 하겠습니다. Swift에서는 메모리 접근 충돌을 막기 위한 작업이 이루어집니다. 그렇기 때문에 Swift 개발자는 Memory Safety에 대해 크게 고려하지 않아도 개발할 수 있습니다. 하지만 Memory Access Conflict가 발생할 수 있는 상황을 이해하고 Memory Access Conflict를 방지할 수 있는 코드를 어떻게 작성할 수 있는지 이해하는 것은 중요합니다. Memory Access Conflict는 변수에 값을 쓰는 작업과 읽는 작업이 동시에 이루어질 경우 주로 발생합니다. var num1 = 1 var num2 = 2 print("num1 : \(num1), num2 : \(num..
이번 포스트에서는 Swift에서 제공하는 다양한 제어문에 대해 살펴보도록 하겠습니다. Swift에서는 while, if, guard, switch, for-in 등 다양한 제어문을 제공합니다. 1. White Swift에서는 while문과 repeat-while문 두 가지 종류의 while 문을 제공하고 있습니다. while 조건 { 코드 구문 } 실제 사용 예시는 아래와 같습니다. var score = 0 while true { score += 10 if score > 100 { print("while문을 종료합니다.") break } } Repeat-While Repeat - While 문은 다른 언어에서는 do-while이라고 불리는 것과 동일합니다. repeat { 실행 구문 } while 조건 ..
이번 포스트에서는 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에서 성공적으로 값이 할당된 ..
이번 포스트에서는 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의 동작 방식을 간략하게 그림으로 살펴보도록 하겠습니다...
- Total
- Today
- Yesterday
- SwiftUI
- XCode
- Kotlin
- 안드로이드
- 아이폰
- 알고리즘
- Rxjava
- databinding
- ios
- 함수형프로그래밍
- Auto Layout
- watchos
- 오토레이아웃
- 스위프트
- 컬렉션
- Reactive programming
- 함수형
- Swift
- CloudComputing
- Notissu
- Elliotable
- Apple Watch
- android
- java
- C++
- apple
- 코틀린
- 상속
- retrofit
- 애플워치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |