不兼容的指针类型将'UIImage * __ strong'发送到'NSString上传到dropbox类型的参数

时间:2012-12-07 06:43:17

标签: ios objective-c

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
[self dismissViewControllerAnimated:YES completion:nil];
NSURL *kittenFileURL = [[NSBundle mainBundle] URLForResource:img withExtension:nil];
}

这是我的代码。警告我得到它不兼容的指针类型将'UIImage * __ strong'发送到'NSString *'类型的参数当我去收集用户图像的URL上传到dropbox时,它会崩溃应用程序。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

URLForResource:期待一个字符串,而您正在传递图像。那是错误。你需要在那里传递一个字符串。

[[NSBundle mainBundle] URLForResource:stringPath withExtension:nil];

不确定您打算如何处理,但URLForResource: param需要路径或文件名,而不是UIImage。有关详细信息check the apple documentation here.

只是一个猜测,你想获得该图像的媒体网址吗?在这种情况下,你需要这样做,

NSURL *kittenFileURL = [editInfo valueForKey:UIImagePickerControllerMediaURL];

available keys are listed here.。对于referenceURL,您可以使用[editInfo valueForKey:UIImagePickerControllerReferenceURL]

在旁注中,imagePickerController:didFinishPickingImage:editingInfo:已弃用,您应该使用imagePickerController:didFinishPickingMediaWithInfo: