IOS에서 런타임에 클래스에 함수를 동적으로로드하거나 만들 수 있습니까?ios : 응용 프로그램 대리인의 동적로드 기능
나는 런타임에 응용 프로그램 위임 클래스를 추가하는 예를 들어 구체적으로 생각하고 있지만 언어에서도 가능하지는 않습니까?
예를 들어 푸시 알림에 사용되지만 런타임에 푸시 프레임 워크에서 동적으로 추가 할 수 있습니까?
대안으로- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
....
}
, 그것은 단순히 애플 대리자 파일 외부 프레임 워크에서 정의 될 수 있지만, 여전히 애플 대리자 로직의 일부?
카테고리를 시작하는 것이 더 쉬워 보입니다. 질문 - 클래스 이름이 바뀔 수있는 경우 카테고리를 어떻게 구현합니까? 예를 들어, iOS App Delegate 클래스는 종종 Project의 이름을 반영하며 AppDelegate 대신 MyFunAppDelegate가 될 수 있습니다. 따라서 모든 프로젝트에서 사용할 수있는 공통 카테고리를 만드는 것은 어려울 것입니다. – Miro
마찬가지로, class_addMethod의 경우 첫 번째 인수는 [AppDelegate class]와 같은 클래스입니다. AppDelegate가 다른 이름으로 호출되면 어떻게됩니까? – Miro
카테고리는 훨씬 간단하지만 그 질문은 문제입니다. "클래스가 앱 위임자가 될 수있는 모든 클래스에 추가 할 수는 없습니다. 클래스 이름을 알아야합니다. 사실 UIApplicationDelegate 프로토콜을 구현하는 클래스가 하나만 있으면됩니다. 라이브러리를 사전 컴파일 (즉, 소스 대신 .a 파일 또는 프레임 워크로 배포) 할 경우 이름을 추측한다고해도 작동하지 않는다고 생각합니다. – Kevin