문제

사진을 웹 사이트에 업로드하기 위해 nsinvocation을 설정하려고합니다. 나는 이것을하고있다 :

  1. nsinvocation 객체를 설정하십시오
  2. 다른 인수와 함께 NSInvocation 객체에 uiimage*를 NSInvocation 객체에 추가하십시오.
  3. 필요할 때 nsinvocation을 호출하십시오
  4. nsinvocation을 호출 할 때 호출 된 함수는 uiimage에 액세스 할 수 없습니다. nsinvalidargumentexception을 얻습니다.

잠시 파고 들면 NSInvocation 객체에 대한 인수로 UIIMAGE를 추가 한 다음 다시 가져 오려고 시도한 것 같습니다 ... 다른 메모리 주소가 반환되었습니다! 이것은 정상입니까?

//먼저 "A"라는 메모리 주소가있는 유효한 uiimage "imgholder"가 있습니다.

nsinVocation *myInvocation = [nsinvocation revocationWithOdSignature : ...

MyInvocation setArgument : Imgholder atindex : 5];

//이제 이상한 부분 ...

uiimage *checkimg;

myInvocation getArgument : & CheckImg atindex : 12];

//CheckIMG에는 "B"의 메모리 주소가 있습니다!

CheckIMG로 작업하려고하면 다양한 예외를 얻을 수 있습니다.

무슨 일이 일어나고 있는지 아이디어가 있습니까? Checkimg의 메모리 주소가 Imgholder의 메모리 주소와 동일하지 않아야합니까?

도움이 되었습니까?

해결책

[myInvocation setArgument:imgHolder atIndex:5];

Imgholder가 uiimage*인 경우 Imgholder가 아닌 Imgholder를 통과해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top