Bir görüntü için bir URL var (UIImagePickerController aldım) ama artık bellekte görüntü yok (URL, uygulamanın önceki bir çalıştırmadan kaydedildi). UIImage'ı URL'den tekrar yükleyebilir miyim?
UIImage bir imageWithContentsOfFile olduğunu görüyorum: ama bir URL var. URL'yi okumak için NSData'nın dataWithContentsOfURL: yöntemini kullanabilir miyim?
Edit1
@ Daniel'in cevabına dayanarak aşağıdaki kodu denedim ama çalışmıyor ...
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];
}
Ne zaman koştu konsol gösterir:
-[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'
Çağrı yığınına baktığımda, URLWithString: relativeToURL:, sonra initWithString: relativeToURL:, ardından _CFStringIsLegalURLString, sonra CFStringGetLength, sonra yönlendirme_Crep_0 , sonra yönlendirme , ardından - [NSObject], [NSObject]
NSString'imin (photoURL adresi 0x536fbe0) neden uzunlamasına yanıt vermediğine dair bir fikrin var mı? Neden yanıt vermediğini söylüyor - [NSURL uzunluğu]? Param'in bir NSURL değil, bir NSString olduğunu bilmiyor mu?
EDIT2
Tamam, kodla ilgili tek sorun dizeden URL'ye dönüşümdür. Dizeyi sabit kodluyorsam, her şey iyi çalışıyor. Bu yüzden NSString'imle ilgili bir sorun var ve eğer anlayamıyorsam, sanırım bu farklı bir soru olarak girmeli. Bu satır eklendiğinde (yukarıdaki konsol günlüğünden yolu yapıştırdım), iyi çalışıyor:
photoURL = @"file://localhost/Users/gary/Library/Application%20Support/iPhone%20Simulator/3.2/Media/DCIM/100APPLE/IMG_0004.JPG";