본문 바로가기
[Objective-C] 키-값 코딩 [Objective-C] 키-값 코딩 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 20. 20.1. 키-값 코딩 개요 * 20.1.1. 키-값 코딩이란 -변수접근 방법 중, @public 으로 해서 인스턴스 변수에 접근시키는 방법도 있으나, 그다지 추천하는 방법은 아니다. -키-값 코딩(key-value coding)은 객체가 지닌 정보를 나타내는 문자열을 키로 사용해서 간접적으로 그 정보에 접근하는 구조이다.기본적으로 접근자 메서드가 선언 프로퍼티 또는 인스턴스 변수라면 그 이름을 문자열로 지정해서 접근할 수 있는 매우 강력한 기능이다 -키-값 코딩의 접근이 간접적이라는 것은 다음 두 가지 이유에서다. 1. 키가 되는 문자열은 실행 중에 결정해도 된다.2. 프로퍼티에 실제 .. 2018. 1. 11.
[Objective-C] 메시지 송신 패턴 [Objective-C] 메시지 송신 패턴 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 15. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 15.1. 앱과 실행 반복 * 15.1.1. 실행 반복 -마우스 클릭 등의 이벤트를 OS에서 받아 그에 따른 처리를 하는 루틴 실행을 반복하는 부분이 있는데, 이것을 실행 반복(run loop) 또는 이벤트반복이라고 부른다. -GUI 를 갖춘 Cocoa 앱에서 실행 시작 이후에는 반드시 하나의 실행 반복이 시작된다.이것을 메인 실행 반복이라고 부른다.동시에 앱 동작과 리소스 관리를 하는 객체가 생성되는데, 이것이 Ma.. 2018. 1. 7.
[Objective-C] 추상 클래스와 클래스 클러스터 [Objective-C] 추상 클래스와 클래스 클러스터 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 11. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 11.1. 추상 클래스 * 11.1.1. 추상 클래스란 -Objective-C 에는 인스턴스를 생성할 수 있는 일반 클래스와 추상 클래스를 구별해서 정의하는 특별한 언어적 구조가 없다.Objective-C 에서 추상 클래스라는 용어는 개념적으로만 존재한다. -다른 객체지향 언어는 virtual, abstract 등의 키워드를 사용해서 추상 클래스를 나타내는 수단이 있다.Objective-C 에서는 추상 클.. 2018. 1. 3.
[Effective Objective-C] #31 참조를 릴리스하고 관찰 상태(observation state)를 정리하는 일은 dealloc 메서드에서만 하라 [Effective Objective-C] #31 참조를 릴리스하고 관찰 상태(observation state)를 정리하는 일은 dealloc 메서드에서만 하라 출처 : Effective Objective-C -생애 주기가 끝난 객체는 할당 해제되고 dealloc 메서드가 호출될 것이다.이 메서드는 객체의 생애 주기 동안 리테인 수가 0으로 떨어질 때 딱 한 번 호출된다.호출되는 시점은 보장되지 않는다. 그렇지만 리테인과 릴리스가 있는 코드를 살펴보고 언제 호출될지 예상할 수 있다고 생각할 수도 있다.그러나 실제로는 여러분이 모르는 사이에 어떠한 라이브러리라도 객체를 조작할 수 있다.이는 예정되지 않는 시점에 할당 해제가 일어나게 하는 원인이 될 수 있다. -절대로 dealloc 을 직접 호출하면 안 된.. 2017. 9. 24.
[iOS Study] 상태 복원 [iOS Study] 상태 복원 출처 : 아론 힐리가스의 IOS 프로그래밍 -앱의 수명은 제한돼 있다.만약 시스템이 더 많은 메모리가 필요하고 자신의 앱이 백그라운드 상태에 있다면, iOS는 아마 그 앱을 죽여 시스템에 메모리를 반환하도록 할 것이다.사용자는 이러한 사실을 알 필요가 없다.항상 앱의 마지막 장면으로 돌아가야 할 것이다. -앱에 상태 복원(state restoration)을 적용해야 한다.상태 복원은 데이터를 저장하는 데 사용했던 아카이빙과 매우 비슷하게 작동한다.앱이 잠시 중단 상태로 들어가면 뷰 컨트롤러 계층의 스냅샷(snapshot)이 저장된다.사용자가 다시 열기 전에 앱이 죽었다면 시작 시에 그 상태가 복원될 것이다.(만약 앱이 죽지 않았다면 모든 것은 메모리에 남아있고 상태를 복원.. 2016. 3. 26.
[iOS Study] 유동글자 [iOS Study] 유동글자 출처 : 아론 힐리가스의 iOS 프로그래밍 -유동 글자(Dynamic Type)는 iOS7 에 도입된 기술이다.이는 읽기 편하도록 최적화되어 설계된 텍스트 스타일(text styles)을 제공한다.설정(Settings) 앱에서 일곱 가지의 선호하는 텍스트 크기 중 하나를 선택할 수 있고 유동 글자를 지원하는 앱이 폰트를 적절히 조절한다는 것이 매력이다. -유동 글자 시스템은 텍스트 스타일 중심이다.이 시스템은 텍스트 스타일을 요청받으면 적합한 폰트를 반환하기 위해 해당 텍스트 스타일과 연관된 사용자의 선호 텍스트 크기를 사용한다. -다음과 같은 코드로 쉽게 font 를 적용할 수 있다. UIFont *font = [UIFont preferredFontForTextStyle:.. 2016. 3. 9.
[iOS Study] 저장, 읽기, 앱 상태 [iOS Study] 저장, 읽기, 앱 상태 출처 : 아론 힐리가스의 iOS 프로그래밍 -여기서는 iOS 에서 파일 시스템을 통해 읽고 쓰는 데 필요한 개념과 기법을 배운다. -아카이빙은 iOS 에서 모델 객체를 저장하는 가장 흔한 방법 중 하나이다.객체의 아카이빙은 그 객체의 프로퍼티들을 모두 기록하고 파일시스템에 그 내용을 저장하는 것을 포함한다.언아카이빙(unarchiving)은 아카이브한 데이터로부터 객체를 다시 만든다. -인스턴스들을 아카이브하고 언아카이브해야 할 클래스들은 NSCoding 프로토콜을 반드시 따라야 하며, 두 필수 메소드 encodeWithCoder: 와 initWithCoder: 를 구현해야 한다. -encodeWithCoder: 메시지를 받으면, 전달된 인자인 NSCoder .. 2016. 3. 7.
반응형