Сохранить изображение как base64 в NSUSERDEFAULTS как NSDICTIONARY

Я на самом деле использую следующий код для сохранения данных, введенных в текстовое поле, и изображения, выбранного в виде изображения в NSUSERDEFAULTS в качестве словаря. Код работает хорошо для сохранения textfield.text, но не может сохранить изображение как base64 в словаре. Пожалуйста, просмотрите код и предложить исправления.

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    _profileImageView.image = image;

    UIImage *updatedImage =  _profileImageView.image;
    NSData *imageData = UIImageJPEGRepresentation(updatedImage, 100);

    NSString *strEncoded = [imageData base64EncodedStringWithOptions:0];


    [_userDetailsDictionary setObject:strEncoded forKey:@"UpdatedImage"];


    [self dismissViewControllerAnimated:YES completion:nil];

}


- (IBAction)saveAction:(UIBarButtonItem *)sender {


    NSLog(@"the values stored in dictionary are %@",_userDetailsDictionary);

    [[NSUserDefaults standardUserDefaults] setObject:_userDetailsDictionary forKey:@"UpdatedDetails"];

    [[NSUserDefaults standardUserDefaults] synchronize];

    ConnectionManager * connectionManager = [ConnectionManager sharedConnectionManager];
    connectionManager.delegate = self;
    [connectionManager sendUserUpdatedDetailsToServer:_userDetailsDictionary withToken:[[NSUserDefaults standardUserDefaults] stringForKey:@"token"]];



}

2 ответа

Не уверен, почему вы хотите сохранить изображение как строку в NSUserdefaults, это странное решение. Вы можете просто сохранить его как NSData. Или лучший способ - сохранить его в папке "Doc" приложения.

Также я заметил, что этот код неверен:

NSData *imageData = UIImageJPEGRepresentation(updatedImage, 100);

качество сжатия CGFloat от 0,0 до 1,0. 100 вне диапазона.

Я создал пример проекта с использованием вашего кода, и он отлично работает для меня. Пожалуйста, скачайте ссылку ниже и попробуйте запустить

http://wikisend.com/download/464846/aaa.zip

Другие вопросы по тегам