मेरे पास एक छवि के लिए एक URL है (इसे UIImagePickerController से प्राप्त किया गया है) लेकिन मेरे पास अब मेमोरी में छवि नहीं है (URL ऐप के पिछले भाग से सहेजा गया था)। क्या मैं फिर से URL से UIImage को पुनः लोड कर सकता हूं?
मैं देखता हूं कि UIImage के पास एक imageWithContentsOfFile है: लेकिन मेरे पास एक URL है। क्या मैं URL पढ़ने के लिए NSData के डेटाWithContentsOfURL का उपयोग कर सकता हूं?
EDIT1
@ डैनियल के जवाब के आधार पर मैंने निम्नलिखित कोड की कोशिश की, लेकिन यह काम नहीं करता है ...
NSLog(@"%s %@", __PRETTY_FUNCTION__, photoURL);
if (photoURL) {
NSURL* aURL = [NSURL URLWithString:photoURL];
NSData* data = [[NSData alloc] initWithContentsOfURL:aURL];
self.photoImage = [UIImage imageWithData:data];
[data release];
}
जब मैंने इसे चलाया तो कंसोल दिखाता है:
-[PhotoBox willMoveToWindow:] file://localhost/Users/gary/Library/Application%20Support/iPhone%20Simulator/3.2/Media/DCIM/100APPLE/IMG_0004.JPG
*** -[NSURL length]: unrecognized selector sent to instance 0x536fbe0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSURL length]: unrecognized selector sent to instance 0x536fbe0'
:, relativeToURL तो initWithString: कॉल स्टैक, मैं URLWithString फोन कर रहा हूँ, जो URLWithString कॉल को देखते हुए relativeToURL :, तो _CFStringIsLegalURLString, तो CFStringGetLength, तो forwarding_prep_0 , तो अग्रेषण , तो - [NSObject doesNotRecognizeSelector]।
किसी भी विचार क्यों मेरे NSString (photourl का पता 0x536fbe0 है) लंबाई का जवाब नहीं देता है? यह क्यों कहता है कि यह जवाब नहीं देता - [NSURL लंबाई] क्या यह नहीं पता कि परम एक NSString है, एक NSURL नहीं?
EDIT2
ठीक है, कोड के साथ एकमात्र समस्या URL रूपांतरण के लिए स्ट्रिंग है। अगर मैं स्ट्रिंग को हार्डकोड करता हूं, तो बाकी सब ठीक काम करता है। तो मेरे NSString के साथ कुछ गलत है और अगर मैं इसका पता नहीं लगा सकता, तो मुझे लगता है कि एक अलग प्रश्न के रूप में जाना चाहिए। इस पंक्ति को सम्मिलित करने के साथ (मैंने ऊपर कंसोल लॉग से पथ को चिपकाया है), यह ठीक काम करता है:
photoURL = @"file://localhost/Users/gary/Library/Application%20Support/iPhone%20Simulator/3.2/Media/DCIM/100APPLE/IMG_0004.JPG";