2011-09-13 7 views
0

메모리 주소로 메서드를 바꿀 수있는 방법이 있는지 궁금합니다. 예 : 메서드 0xFFFFFF에 대한 포인터가 있습니다. 애플리케이션에 메소드가 있습니다. 포인터를 my 메서드로 바꾸려고합니다. Objective-C에서이 포인터를 대체 할 수있는 방법이 있습니까? 감사.메모리 주소로 메서드 바꾸기

+0

당신이 마음에서 특정 언어가 있었나요 class_getClasssMethod를 사용하여, method_setImplementation(Method m, IMP imp) 당신은하지만 먼저 선택하는 방법을 해결 한해야

을 찾고? 코볼? SQL? :-) – paxdiablo

+0

Oh right ... Objective-C/C – Jnani

+0

무슨 뜻인지 좀 더 설명해 주시겠습니까? 특히, "메소드에 대한 포인터"란 무엇입니까? 우리는'struct objc_method *'를 말하고 있는가? 값 0xFFFFFF를 갖는 방법은 무엇입니까? 그것은 다소 희박한 가치입니다. 그리고 "포인터를 대체"한다는 것은 무엇을 의미합니까? 변수에 새로운 값을 지정하거나 무엇을 할당할까요? – Chuck

답변

-2

당신은 "performSelector"를 사용할 수 있습니다

[object performSelector:@selector(doSomething)]; 

선택기 변수에 저장 될 수있다.

0

당신은 주사에 대해서 이야기하고 있습니다.

mach_inject

또한

Starruntime

및 응용 프로그램 증강를 살펴 보자.

0

당신은 class_getInstanceMethod 또는

관련 문제