我正在尝试设置NSinvocation以将图片上传到网站。我这样做:
经过一段时间的挖掘,看起来如果我将一个UIImage作为参数添加到我的NSInvocation对象中,然后尝试将其取回...我返回了一个不同的内存地址!这是正常的吗?
// 首先我有一个有效的UIImage“imgHolder”,其内存地址为“A”......
NSInvocation * myInvocation = [NSInvocation invocationWithMethodSignature:...
[myInvocation setArgument:imgHolder atIndex:5];
// 现在,奇怪的部分......
UIImage * checkImg;
[myInvocation getArgument:& checkImg atIndex:12];
// checkImg的内存地址为“B”!
如果我尝试使用checkImg,我会得到各种异常,这让我相信它不是一个有效的UIImage。
任何想法发生了什么? checkImg的内存地址不应该与imgHolder的内存地址相同吗?
答案 0 :(得分:1)
[myInvocation setArgument:imgHolder atIndex:5];
如果imgHolder是UIImage *,你应该传递& imgHolder,而不是imgHolder。