본문 바로가기
[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] 객체 복사와 저장 [Objective-C] 객체 복사와 저장출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 12. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 13.1. 객체 복사 * 13.1.1. 얕은 복사와 깊은 복사 * 13.1.2. 존이란 -Cocoa 에서 이전에는 동적으로 확보된 메모리 관리를 할 때 존(zone)이라고 부르는 영역을 이용했다.현재(Objective-C 2.0 또는 가비지 컬렉션을 사용할 때) 사용하지 않지만 copyWithZone: 과 같은 함수들의 인수 형태로 형식적으로 남아 있다. -동적으로 메모리 영역이 확보되는 힙(heap)영역에는 주소 공간.. 2018. 1. 5.
[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 프레임워크의 중요 클래스 - 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.
[ios] ARC 와 Toll-free bridging [ios] ARC 와 Toll-free bridging Toll-Free Bridging -ARC 는 Objective-C 의 Object 만을 대상으로 한다.Core Foundation 범주의 Object 들은 대상이 아니다. -Core Foundation API 를 사용할 경우 개발자가 수동으로 메모리 관리를 해야 한다.CoreFoundation Objective-C 클래스간의 타입 캐스팅을 할 수 있으며,이 때 아무런 cost 없이 작업을 할 수 있다 하여 Toll-Free bridging 이라고 부른다. -Toll-Free bridging 을 할 때 주의할 점은 메모리관리 주체를 이전하느냐 마느냐이다. __bridge -Objective-C Object Core Foundation 변환하고 싶을 .. 2017. 10. 29.
[ios] String Concat ( String 연결하기 ) [ios] String Concat ( String 연결하기 ) -자바에서 + 나 StringBuilder 로 String 연결하다가 iOS 로 하려니 잘 모르겠어서 찾아봤다.아래와 같이 하면 된다. [NSString stringWithFormat:@“%@%@“, str1, str2]; +, ios string concat, Java, NSString, string +, string 연결, StringBuilder, stringwithFormat, [ios] String Concat ( String 연결하기 ) 2017. 10. 25.
[Effective Objective-C] #47 시스템 프레임워크를 숙지하라 [Effective Objective-C] #47 시스템 프레임워크를 숙지하라 출처 : Effective Objective-C -시스템 프레임워크가 없어도 오브젝티브-C 를 사용할 수 있지만 그런 일은 매우 드물다.표준 최상위 클래스 NSObject 조차도 언어에 포함되어 있는 것이 아니라 Foundation 프레임워크에 포함되어 있다.Foundation 을 쓰는 것을 원하지 않으면 자신만의 최상위 클래스 뿐 아니라 자신만의 컬렉션, 이벤트 루프, 다른 유용한 클래스를 직접 만들어야 한다.게다가 시스템 프레임워크 없이 맥 OS X 와 iOS 앱을 오브젝티브-C 로 개발할 수 없다. -어떤 시스템 프레임워크가 있는지 모른다면 이미 만들어진 것도 또 다시 직접 모두 작성해야 할 것이다. -프레임워크는 동적 .. 2017. 10. 14.
[Effective Objective-C] #36 retainCount 를 사용하지 말라 [Effective Objective-C] #36 retainCount 를 사용하지 말라 출처 : Effective Objective-C -NSObject 프로토콜에 정의된 이 메서드로 객체의 현재 리테인 수를 얻을 수 있다.- (NSUInteger)retainCount -그러나 ARC 는 이 메서드를 폐기했다.실제로 ARC 를 사용하면서 retain, release, autorelease 를 호출하는 것처럼 retainCount 를 호출하면 컴파일러가 에러를 던질 것이다.이 메서드가 공식적으로 폐기 되었는데도 많은 사람들이 잘못 이해하고 있다. -ARC 를 사용하지 않는다면 이 메서드를 사용할 수 있고 컴파일 에러도 받지 않을 것이다.그렇기 때문에 이 메서드를 사용하지 말아야 하는 이유를 반드시 알아야.. 2017. 9. 30.
[Effective Objective-C] #19 명확하고 일관된 작명법을 사용하라 [Effective Objective-C] #19 명확하고 일관된 작명법을 사용하라 출처 : Effective Objective-C -오브젝티브-C 의 이름 짓는 법은 좀 더 장황한 이름을 사용하기 때문에 훨씬 명확하다.메서드와 변수 이름에 첫 문자를 소문자로 쓰는 카멜 표기법을 사용하고,클래스 이름은 항상 첫 문자가 대문자인 카멜 표기법을 사용한다. 이름에는 항상 두세 문자의 접두어를 사용한다. 메서드 이름 짓기 -긴 메서드 이름을 사용하는 것을 두려워하지 말라.메서드 이름이 메서드가 하는 일을 정확히 표현할 만큼만 길게 만들라.그러나 극도로 긴 이름을 쓰지는 말아야 한다.메서드 이름은 간결하고 정확해야 한다. -NSString 클래스는 좋은 작명 관례 지침을 다르는 최고의 예다. -다음 몇 가지 법칙.. 2017. 8. 30.
반응형