3. Framework: weak linking
3. Framework: weak linking 이번 포스트에서는 저번 포스트에 이어서 Framework의 weak linking에 대해서 알아보려고 합니다. weak linking이란? 먼저, 상황을 먼저 설명드리겠습니다. 최신 OS가 출시되면서 새로운 기능이 추가되었습니다. 이 기능은 당연히 이전 버전OS에서는 없는 기능이기 때문에 동작할 수 없습니다. 이전 버전 OS와 최신OS를 지원하는 framework를 제작하는데 최신OS에서 동작하는 새로운 기능도 지원하고 싶을 때 문제가 발생합니다. 새로운 기능은 이전 버전 OS에서는 동작하지 않기 때문에 오류가 발생합니다. 이 문제를 해결하기 위해서 나온 해결책이 weak linking입니다. weak linking은 심볼이 framework에 존재하지 않으면 null로 변경하고 심볼이 존재하면 동작을 수행합니다. weak linking을 통해 이전 OS의 호환성을 유지하면서 새로운 OS에 기능 추가를 할 수 있는 유연성을 발휘할 수 있습니다. weak linking이 어떻게 동작하는지 예제를 통해서 알아보겠습니다. WeakFramework를 Objective-C용 framework로 생성한 후 WeakTest.h와 WeakTest.c파일을 아래와 같이 생성합니다. // WeakTest.h 파일 #ifndef WeakTest_h #define WeakTest_h #include < stdio . h > #endif /* WeakTest_h */ // WeakTest.c 파일 #include "WeakTest.h" void WeakFunc ( void ) { printf ( "Weak Func가 호출되었습니다.\n" ) ; } Sample App 프로젝트를 생성하고 ViewController.m파일에 아래와 같이 코드를 작성합니다. # import "ViewContr