본문 바로가기
[ios] .c 파일을 import 한 후 build 가 안 된다면 pch 파일을 확인해봐라. [ios] .c 파일을 import 한 후 build 가 안 된다면 pch 파일을 확인해봐라. pch 파일은 빌드할 때 매번 사용되는 녀석으로, c 를 컴파일 할 때도 사용된다.그래서 pch 파일에 objective-c 에서 사용하는 녀석에 대한 import 문이 있다면 compile 에러가 난다. pch 파일에서 아래와 같이 ifdef 구문으로 처리해주어야 한다. ( c 에서는 ObjectiveC 의 header 를 import 못하니깐 )#ifdef __OBJC__#import “ObjecitveCHeader.h"#endif #endif, #ifdef, .c import, build, C, Compile, compile error, endif, ifdef, import, Objective-C, PCH.. 2018. 1. 31.
[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] 참조 카운터를 사용한 메모리 관리 방법 [Objective-C] 참조 카운터를 사용한 메모리 관리 방법 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 5. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 5.1. 동적 메모리 관리 * 5.1.1. 메모리 관리의 필요성 -이미 해제된 부분을 가리키는 위험한 포인터를 댕글링 포인터(dangling pointer) 또는 허상 포인터라고 부른다. * 5.1.2. 카운터 관리 방식과 ARC, 가비지 컬렉션 -Objective-C 2.0 에는 카운터 관리 방식과 다른, 가비지 컬렉션이라는 메모리 관리 방식도 이용할 수 있게 되었다.가비지 컬렉션은 프로그램의 일.. 2017. 12. 27.
[Objective-C] Objective-C 프로그램 [Objective-C] Objective-C 프로그램 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 2. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 2.1. 객체와 메시지 * 2.1.1. 메시지 표현식 * 2.1.2. 메시지 셀렉터 -함수명(메서드명)을 메시지 셀렉터(message selector) 또는 셀렉터(selector) 라고도 부른다. -인수가 있는 키워드는 콜론도 셀럭터에 포함되므로 주의즉 copy 와 copy: 는 다른 셀렉터. -메시지 키워드는 변수의 명명규칙에 따라 이름을 지으며, 소문자로 시작하는 것이 관례 -메시지에 인수가 있으면 메.. 2017. 12. 24.
[Objective-C] 객체 기반 소프트웨어 작성 [Objective-C] 객체 기반 소프트웨어 작성 출처 : OS X 구조를 이해하면서 배우는 Objective-C Chap 1. Notice : 정리자(돼지왕 왕돼지)가 remind 하고 싶은 내용이나 모르는 내용 기반으로 정리하는 것이기 때문에 구체적인 내용은 책을 사서 보시기를 권장드립니다. 1.1 객체 개념 * 1.1.1. 소프트웨어를 기능 중심으로 설계 했을 때의 문제점 -기능은 상당히 쉽게 바뀔 수 있다.따라서 기능 중심으로 설계한 소프트웨어는 변경에 취약해서 유지 보수하는 데 비용이 많이 든다. * 1.1.2. 객체로 모델화 -객체를 사용해 작성한 모델은 사람이 생각하는 개념 사이의 관계를 반영한 것이므로 기능을 변경하더라도 큰 영향을 받지는 않는다. * 1.1.3. 메세지로 통신 -메시지는.. 2017. 12. 23.
[ios] extern const vs. static const in header [ios] extern const vs. static const in header -extern 으로 설정하면 global 하게 유효한 변수가 되기 때문에 == 비교가 가능하다. -static 으로 설정된 변수는 본디 Objective-C 에서는 해당 파일에서 유효하다.따라서 == 비교가 불가능하고, 해당 Type 에 대해 비교를 해야 한다. -Globally Unique 한 Const 선언을 위해서라면 extern 으로 설정하여 사용하는 것이 더 옳다. -주의사항은, extern 으로 설정하는 녀석들은 접두어를 잘 붙여서 사용해야 conflict 가 나지 않는다. [Objective-C] Constant(상수) 정의하기[ios] objective-c 에서의 static constant 정의 하는 방법... 2017. 12. 15.
[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/design pattern] private 메서드 정의하기 [ios/design pattern] private 메서드 정의하기 -Objective-C 은 public/private 같은 접근제어하는 것이 없음.다시 이야기하자면 모든 method 가 사실 public 이다. -.m 파일의 implemetation 에서만 함수를 정의해서 사용하는 것은 private 으로 여길 수 있겠지만,.h 에 선언되어 있지 않기 때문에 warning 이 표시된다. ( 실제로는 option 에 따라 warning 이 표시 안 되기도 )( iOS 는 동적 언어라 compile 은 되고 실행도 되긴 한다. ) -이를 해결하기 위해서는 Private 전용 Category 를 만들고,모든 private method 에는 p_ 접두어를 붙이는 것으로 해결할 수 있다.// .m 파일@int.. 2017. 10. 23.
반응형