본문 바로가기
[Objective-C] 기타 [Objective-C] 기타 출처 : OS X 구조를 이해하면서 배우는 Objective-C 부록A. Foundation 프레임워크 개요 * A.1 주요 클래스 개요 -NSCountedSet : 변경 가능한 집합의 클래스, 같은 객체를 여러 번 포함할 수 있다.NSOrderedSet, NSMutableOrderedSet : 여러 객체를 배열처럼 순서대로 저장하는데 같은 객체는 하나만 저장NSIndexSet, NSMutableIndexSet : 배열의 인덱스로 사용하는 음수가 아닌 정수를 요소로 하는 집합. NSSet 과 상속 관계가 없다. -NSProcessInfo : 프로세스에 관련된 다양한 정보를 취득한다. * A.2. 주요 프로토콜 개요 * A.3. 주요 함수와 형식 -CGRectGetHeight.. 2018. 1. 12.
[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.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray, NSSet [Objective-C] Foundation 프레임워크의 중요 클래스 - NSData, NSArray 9.3. 데이터 클래스 * 9.3.1. NSData -NSData 는 임의의 바이트 배열을 객체로 다루기 위한 랩퍼(wrapper) 이다. -일반적인 C 배열을 사용할 때와 비교했을 때의 장점은 객체로 추상화해서 다룰 수 있는 점,메모리 관리가 쉬운 점, Cocoa API 에서 바이트 배열을 다루는 표준이라는 점. -NSData 인터페이스는 한 번 작성되면 데이터 내용을 변경할 수 없다.데이터 내용을 나중에 변경하려면 NSMutableData 클래스를 사용해야 한다. -NSData 는 클래스 클래스터로 제공되므로 NSData 가 인스턴스의 직접 클래스가 아니라는 점, 일반 방법으로는 서브 클래스를 작성할.. 2017. 12. 31.
[Objective-C] Foundation 프레임워크의 중요 클래스 - NSString, NSMutableString [Objective-C] Foundation 프레임워크의 중요 클래스 - NSString, NSMutableString 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 9. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 9.1. 객체 변경 가능성 * 9.1.1. 변경 가능 객체와 불가능 객체 * 9.1.2. 변경 가능 객체 작성 -변경 불가능 객체를 변경 가능 객체로 다루고 싶을 때는 어떻게 할까?mutableCopy 메서드로 변경 가능한 복사본을 작성한다. 9.2. 문자열 클래스 * 9.2.1. 객체 상수 문자열 -문자열을 “ “ 로 둘러싸고 그 앞에 @ 를.. 2017. 12. 30.
[Objective-C] NSObject 클래스와 런타임 시스템 [Objective-C] NSObject 클래스와 런타임 시스템 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 8. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 8.1. NSObject 클래스 * 8.1.1. 루트 클래스의 역할 -런타임 시스템은 Objective-C 용 운영체제 같은 것으로, 객체 생성, 해제에 따른 메모리 영역 관리와 송신된 메시지에 대응하는 메서드 검색 등을 한다. -보통은 프로그램에서 런타임 시스템 기능을 직접 사용하지 않는다.이런 기본 기능은 루트 클래스인 NSObject 에 있는 메서드로 제공된다.다시 말해 루트 클래스는 런타임 .. 2017. 12. 29.
[ios] NSManagedObject description 에서는 relationship 을 print 하지 말자!! [ios] NSManagedObject description 에서는 relationship 을 print 하지 말자!! -NSManagedObject 의 description 에서 relationship 에 해당하는 item 을 찍으면( 그런 item 은 기본으로 fault ), fault 가 fire 되지 않으면서 bad memory access error 가 발생할 수 있다. -게다가 해당 property 들을 실제로 접근해서 쓰는 것이 아닌데, description 을 호출했다는 이유로 fault 가 풀려 버린다면, 이는 메모리 낭비로도 이어질 수 있다. -그러므로, description 에서 relationship 을 print 하지 말아라!!!! bad memory access error, de.. 2017. 11. 9.
[ios/tutorial] Core Data - Creating and Modifying Custom Managed Objects [ios/tutorial] Core Data - Creating and Modifying Custom Managed Objects https://developer.apple.com/library/watchos/documentation/Cocoa/Conceptual/CoreData/LifeofaManagedObject.html#//apple_ref/doc/uid/TP40001075-CH16-SW1-NSManagedObject 는 generic class 이다. Creating Custom Managed Object Subclasses -@interface MyManagedObject : NSManagedObject @property (nonatomic, strong) NSString *title;@prop.. 2017. 11. 5.
[Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #17 ~ #24 [Effective Objective-C] 목차와 요약을 통해 한 눈에 알아보는 Effective Objective-C #17 ~ #24 #17 : description 메서드를 구현하라 인스턴스를 설명하는 유용한 문자열을 제공하려면 description 메서드를 구현하라. 객체가 출력하는 내용을 디버깅할 때 좀 더 자세해지길 원한다면 debugDescription 을 구현하라. #18 : 가변 객체보다는 불변 객체를 사용하라 가능하다면 객체를 불변(immutable)으로 만들라. 프로퍼티를 내부에서 설정할 수 있게 하려면 클래스 확장 카테고리로 읽기 전용 속성을 읽기-쓰기로 확장하라. 가변 컬렉션을 프로퍼티로 노출하기보다는 컬렉션에 포함된 객체를 조작할 수 있는 메서드를 제공하라. #19 : 명확하고 .. 2017. 9. 8.
[Effective Objective-C] #17 description 메서드를 구현하라 [Effective Objective-C] #17 description 메서드를 구현하라 출처 : Effective Objective-C -디버깅할 때 객체의 내용을 출력하면 유용할 때가 있다.내용을 출력하는 방법 중 하나는 객체의 모든 프로퍼티를 출력하는 로깅 코드를 작성하는 것이지만, 다음과 같이 하는 것이 더 일반적인 방법이다.NSLog(@“object = %@“, object); 문자열이 로그로 기록될 때 object 는 description 메시지를 받을 것이다. -여러분이 만든 클래스에서 NSObject 기본 구현의 description 이 호출될 것이다.이 메서드는 NSObject 프로토콜에 정의되어 있지만, NSObject 클래스가 구현한다.많은 메서드가 NSObject 프로토콜에 속해있는.. 2017. 8. 20.
반응형