Saya memiliki URL untuk gambar (mendapatkannya dari UIImagePickerController) tetapi saya tidak lagi memiliki gambar dalam memori (URL disimpan dari menjalankan aplikasi sebelumnya). Bisakah saya memuat ulang UIImage dari URL lagi?
Saya melihat bahwa UIImage memiliki imageWithContentsOfFile: tetapi saya memiliki URL. Bisakah saya menggunakan data NSDataWithContentsOfURL: untuk membaca URL?
EDIT1
berdasarkan jawaban @ Daniel saya mencoba kode berikut tetapi tidak berhasil ...
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];
}
Ketika saya menjalankannya konsol menunjukkan:
-[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'
Melihat tumpukan panggilan, saya memanggil URLWithString, yang memanggil URLWithString: relatifToURL :, lalu initWithString: relatifToURL :, lalu _CFStringIsLegalURLString, lalu CFStringGetLength, lalu meneruskan , _ forward , bukan proyek.
Adakah ide mengapa NSString saya (alamat photoURL 0x536fbe0) tidak menanggapi panjang? Mengapa dikatakan tidak merespons - [Panjang NSURL]? Tidakkah ia tahu bahwa param adalah NSString, bukan NSURL?
EDIT2
OK, satu-satunya masalah dengan kode adalah konversi string ke URL. Jika saya hardcode string, semuanya berjalan dengan baik. Jadi ada yang salah dengan NSString saya dan jika saya tidak bisa mengetahuinya, saya kira itu harus masuk sebagai pertanyaan yang berbeda. Dengan baris ini dimasukkan (saya menempel jalur dari konsol log di atas), itu berfungsi dengan baik:
photoURL = @"file://localhost/Users/gary/Library/Application%20Support/iPhone%20Simulator/3.2/Media/DCIM/100APPLE/IMG_0004.JPG";