2012-04-23 2 views
0

Я пытаюсь отобразить изображение на uiImageView с помощью imagePickerview. Значение пользователя выбирает изображение в порядке. Тогда у меня есть одна кнопка, которая говорит save. Так что в следующем я должен сделать, это сохранить изображение в NSUserDefaults Тогда мне нужен этот образ на другой ViewController для отображения тех же изображений на uiImage зренииКак установить UIImage в UIImageView после извлечения из NSUserDefaults

Для этого я сделал следующее.

 on save button touched...... 

    NSData* imageData = UIImagePNGRepresentation(image.image); 
    NSData* myEncodedImageData = [NSKeyedArchiver archivedDataWithRootObject:imageData]; 
    [[NSUserDefaults standardUserDefaults] setObject:myEncodedImageData forKey:@"myEncodedImageDataKey"]; 
    [[NSUserDefaults standardUserDefaults] synchronize]; 

затем retreiving на другой ViewController ....... в

  NSData* myEncodedImageData = [[NSUserDefaults standardUserDefaults] objectForKey:@"myEncodedImageDataKey"]; 
UIImage* image = [UIImage imageWithData:myEncodedImageData]; 
imageView.image =image; 

Но изображение не отображается здесь в ImageView на другой точке зрения.

ответ

0

Вы делаете лишний и ненужный шаг, беря данные изображения PNG, находящиеся в объекте NSData, и архивируя это, прежде чем хранить его по умолчанию. NSUserDefaults может напрямую обрабатывать объект NSData. Попытка вывести архивирование/разборки и просто работать с объектом NSData и посмотреть, устраняет ли это вашу проблему.