목록전체 글 (64)
GGURUPiOS
안녕하세요 이번시간엔 싱글톤에 대해 알아보도록 하겠습니다. Singleton 싱글톤? 싱글톤은 개발에 있어서 매우 인기 있는 디자인 패턴입니다. 이것은 매우 간단하고 일반적이며 프로젝트에서 사용하기 쉽습니다. 타입 프로퍼티로 클래스 인스턴스를 한 번만 초기화하며 클래스 인스턴스를 전역적으로 공유합니다. 무슨 말일까요. 아래의 예제로 살펴봅시다 기본적인 싱글톤 패턴 구현 class LocationManager { static let shared = LocationManager() var locationGranted: Bool? private init(){} // init 함수의 접근제어를 private 으로 설정해서 외부에서는 생성을 못하게 함 func requestForLocation() { //Code..
안녕하세요. 이번시간은 UIKit을 쓰다보면 수없이 마주치게 되는 Delegate Pattern에 대하여 알아보도록 하겠습니다. UIKit의 텍스트필드, 테이블뷰, 컬렉션뷰 등등 다 델리게이트 패턴으로 구현되어 있는데요. 델리게이트 패턴이 뭔지 알아보고, 왜 사용하는지에 대해까지 알아보도록 할게요 Delegate Pattern? 위에서 말했듯이, 델리게이트 패턴은 Apple 프레임워크에서 일반적으로 사용되는 디자인 패턴입니다. 스위프트 랭귀지 가이드에 보면 Delegation에 대해 아래와 같이 기술되어 있습니다. 더보기 Delegation is a design pattern that enables a class or structure to hand off (ordelegate) some of its r..
안녕하세요 이번시간에는 메서드에대해 알아보도록 하겠습니다. 메서드? (함수랑 뭐가다르지?) 메서드는 특정 타입과 연관된 함수입니다. 클래스, 구조체, 열거형 모두 인스턴스 메서드를 정의할 수 있습니다. 이는 주어진 타입의 특정 기능을 캡슐화 합니다. 인스턴스 메서드 특정 타입의 인스턴스에 속하는 함수입니다. 인스턴스 메서드는 인스턴스 프로퍼티에 접근하고 수정하는 방법을 제공 또는, 관련 기능을 제공함 class Counter { var count = 0 func increment() { count += 1 } func increment(by amount: Int) { count += amount } func reset() { count = 0 } } 위의 예제에서 보면 단순히 숫자를 세는 Counter라..
안녕하세요 이번시간에는 String 타입에는 왜 정수형으로 접근할 수 없는지를 알아보도록 하겠습니다 우리는 Array나 Dictionary같은 자료구조에 접근할 때, Subscripts 를 통해 간단히 접근할 수 있었습니다. 예를 들어 아래와 같은 코드가 그 예시입니다. let intArray: [Int] = [1, 2, 3, 4, 5] let someDictionary: [String: String] = [ "민수": "25살", "철수": "28살" ] print(intArray[0]) // 1 출력 print(someDictionary["민수"]!) // 25살 출력 그럼 String에도 마찬가지로 정수형으로 접근할 수 있을까요? String에서는 Int형으로는 서브스크립트에 접근할 수 없고, St..
안녕하세요. 이번시간에는 수도없이 만나는 Structures에 대해 이야기해보고자 합니다 Structures가 무엇인지 알아보고, 또 Class와의 차이까지 알아보도록 할게요 struct? structures? struct라는 키워드를 통해 구조체를 정의하고, 프로퍼티나 메서드를 정의할 수 있습니다. struct someStructName { // 프로퍼티, 메서드 등등 } 구조체는 값 타입으로 변수나 상수에 할당될 때 또는 함수를 통해서 전달될 때 그 값을 복사합니다. 어떻게 쓸까요? 일단 구조체를 정의했다면 그 자체로는 메모리에 할당되지 않습니다. 우리는 구조체 인스턴스를 만들어야 사용할 수 있습니다. 아래와 같이 생성해서 사용 가능합니다. struct Student { let name: String..
안녕하세요. Swift의 Optional 타입은 type-safe 를 보장하도록 설계되었지만, 우리에겐 혼란을 줍니다.. 이번시간에는 Optional에 대해 알아보도록 하겠습니다. Optional이란? Optional이란 선택적 타입으로 값이 있고, 그것은 x와 같습니다 or 값이 전혀 없습니다 라고 말하는 타입입니다. 간단히 말하면, 값이 있거나 값이 전혀 없는 상태를 나타낼 수 있는 타입이라고 생각하면 될 것 같습니다. 일단 Optional타입은 열거형입니다. 결국 값이 없는 none(옵셔널 바인딩할 경우 nil을 뱉음) 그리고 값을 가지고 있는 some 으로 이루어져 있다고 보면 됩니다. Swift는 type-safe 언어로, 코드에서 사용할 수 있는 값의 타입을 명확하게 파악할 수 있습니다. 즉 ..