Iphone:NSInvocation变化引用的论据?
-
19-09-2019 - |
题
我试图设立一个NSinvocation上传照片的网站。我这样做:
- 设立nsinvocation对象
- 增加一个UIImage*到nsinvocation目作为一个参数,以及一些其他的论点
- 援引nsinvocation在需要的时候
- 功能称为当我援引nsinvocation不能访问UIImage-我得到NSInvalidArgumentException.
后挖一个小小的同时,它看起来像如果我补充一UIImage作为一个参数我NSInvocation目的,然后试图让它回来...我是返回的一个不同记忆的地址!这正常吗?
//首先我有一个有效的UIImage"imgHolder"其中有一个存储地址"的"...
NSInvocation*myInvocation=[NSInvocation invocationWithMethodSignature:...
[myInvocation setArgument:imgHolder atIndex:5];
//现在,奇怪的一部分...
UIImage*checkImg;
[myInvocation getArgument:&checkImg atIndex:12];
//checkImg具有记忆的地址"B"!
如果我尝试向工作与checkImg,我得到的各种例外,它使我相信这不是一个有效的UIImage.
任何想法什么?不应该存储地址的checkImg相同的imgHolder?
解决方案
[myInvocation setArgument:imgHolder atIndex:5];
如果imgHolder是UIImage*,你应该通过&imgHolder,不imgHolder.
不隶属于 StackOverflow