본문 바로가기
[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 19. 19.1. 멀티 스레드 * 19.1.1. 스레드의 기본 개념 -스레드(thread)란 프로세스(process)안에서 CPU 이용권을 가진 가상적인 실행 단위이다.일반적으로 하나의 프로세스에는 하나의 스레드밖에 없지만 복수의 스레드를 생성해 프로세스 안에서 병렬로 동작시킬 수도 있다. -프로그램 실행이 시작될 때부터 동작하는 스레드를 메인 스레드라 하고 그 외에 나중에 생성된 스레드를 세컨더리 스레드(secondary thread) 또는 서브 스레드(subthread)라고 한다. -부모 스레드는 자식 스레드의 실행이 끝나길 기다렸다 합류(join)할 수 있다.대다수의 스레드 구현은 따로.. 2018. 1. 10.
[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.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSDictionary, NSValue, NSNumber, NSURL [Objective-C] Foundation 프레임워크의 중요 클래스 - NSDictionary, NSValue, NSNumber, NSURL 9.5. 사전 클래스 * 9.5.1. 사전 객체 개요 -키와 값 짝을 엔트리(entry)라고 부른다.키도 값도 객체를 지정하는데 키에는 보통 문자열을 지정하는 편이다. -키는 그 사전 객체 속에서는 유니크이어야만 한다.메서드 isEqual: 로 비교해서 같다고 평가되는 키를 가진 엔트리가 여러 개 있어선 안 된다.키는 nil 도 안 된다. -값 객체에는 nil 이외의 임의의 객체를 지정할 수 있다.숫자값과 좌표 등 자료형을 사전에 포함하고 싶을 때는 나중에 오는 NSNumber, NSValue 를 사용해야 한다.또한 비어있는 것을 나타내고 싶을 때는 NSNull .. 2018. 1. 1.
[Effective Objective-C] #49 커스텀 메모리 관리 시맨틱을 가진 컬렉션을 만들기 위해 무비용 전환을 사용하라 [Effective Objective-C] #49 커스텀 메모리 관리 시맨틱을 가진 컬렉션을 만들기 위해 무비용 전환을 사용하라 출처 : Effective Objective-C -NSArray 는 배열을 위한 Foundation 의 오브젝티브-C 클래스이다.그리고 CFArray 는 CoreFoundation 의 배열을 위한 것이다.배열을 생성하는 이 두 가지 방법은 별개로 보이지만 무비용 전환이라는 강력한 기능 덕에 이 두 클래스 간 캐스팅을 아주 긴밀하게 할 수 있다. -무비용 전환으로 Foundation 의 오브젝티브-C 클래스와 CoreFoundation 의 C 데이터 구조체 간에 캐스팅을 할 수 있다.나는 C 수준 API를 클래스나 객체가 아닌 데이터 구조체라고 부른다.그것들은 오브젝티브-C 의 .. 2017. 10. 17.
[iOS Study] 카메라 [iOS Study] 카메라 출처 : 아론 힐리가스의 iOS 프로그램 -UIImageView 는 contentMode 프로퍼티에 따라 이미지를 표시한다.이 프로퍼티는 이미지뷰의 프레임 안에서 이미지를 어디에 위치시키고 어떻게 크기를 조절할지를 결정한다.UIImageView 에서 contentMode 의 기본값은 UIViewContentModeScaleToFill 이다.이 값은 이미지 크기를 이미지뷰의 bounds 와 정확히 일치하게 조절한다. 이미지가 원본과 같은 종횡비로 표시되도록 하려면 Aspect Fit 으로 설정해야 한다. -소스 파일을 옵션 - 클릭 하면 보조 편집기로 소스가 열린다. -xib 에서 소스파일로 컨트롤 - 드래그 하면 바로 IBOutlet 이나 IBAction 을 연결할 수 있다... 2016. 2. 23.
Objective-C 고급 ( Advanced Objective-C ) Objective-C 고급 ( Advanced Objective-C ) 출처 : http://www.tutorialspoint.com/objective_c/objective_c_classes_objects.htm > - class 는 @interface 와 @implementation 의 두 파트로 나뉘어 정의된다. - 대부분이 objects 를 상속한다. - objects 는 메세지를 받기 때문에 receiver 로 불리기도 한다. - Properties 는 다른 class 에서의 access 를 접근하도록 도와준다. - ex) @interface Box:NSObject { double length; double breadth; } @property(nonatomic, readwrite) double .. 2015. 6. 18.
반응형