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

這是我的代碼。警告我得到它不兼容的指針類型發送'UIImage * __強'到'NSString *'類型的參數當我去收集用戶圖像的URL上傳到保管箱,它崩潰了應用程序。有任何想法嗎?不兼容的指針類型發送'UIImage * __ strong'到參數的類型'NSString上傳到保管箱

回答

1

URLForResource:期待一個字符串,而你正在傳遞一個圖像。這是錯誤。你需要在那裏傳遞一個字符串。

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

不知道你正在計劃與該做的,但URLForResource:參數是期待一個路徑或文件名,而不是一個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:

相關問題