我正在尝试设置 NSinvocation 将图片上传到网站。我正在这样做:
- 设置 nsinvocation 对象
- 将 UIImage* 作为参数添加到 nsinvocation 对象,以及其他一些参数
- 在需要时调用 nsinvocation
- 当我调用 nsinvocation 时调用的函数无法访问 UIImage - 我得到 NSInvalidArgumentException。
挖了一会儿之后,看起来如果我将 UIImage 作为参数添加到我的 NSInvocation 对象,然后尝试将其取回......我返回了一个不同的内存地址!这是正常的吗?
//首先我有一个有效的 UIImage "imgHolder",它的内存地址是 "A"...
NSInvocation *myInvocation = [NSInvocation 调用WithMethodSignature:...
[myInvocation setArgument:imgHolder atIndex:5];
//现在,奇怪的部分...
UIImage *checkImg;
[myInvocation getArgument:&checkImg atIndex:12];
// checkImg 的内存地址为“B”!
如果我尝试使用 checkImg,我会遇到各种异常,这让我相信它不是有效的 UIImage。
有什么想法吗?checkImg的内存地址不应该和imgHolder的一样吗?