То, что вы пытаетесь сделать выше, можно сделать легко. Лучший совет, который я могу вам дать, - создать новый образец проекта только для сохранения и извлечения изображения из базы данных CoreData
. Таким образом вы точно знаете, как работает этот процесс. Если вы попытаетесь внедрить эту функциональность в свой текущий проект, вы можете потерять информацию о том, что происходит где.
Это очень быстрый пример, я буду ожидать импортировать делегаты в вашем .h файлы самостоятельно и т.д.
Сначала инициировать UIImagePicker
с помощью кнопки
-(IBAction)pickImage:(id)sender
{
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:YES];
}
После выбора изображения, вы можете отобразить его на кнопку с помощью одного из методов делегата
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)selectedImage editingInfo:(NSDictionary *)editingInfo
self.imageButton.imageView.image = selectedImage;
чтобы сохранить его CoreData
присвоить UIImage
типа на Transformable
типа в атрибуте в базе данных, а затем сохранить managedObjectContext
ссылки, чтобы помочь вам:
UIImagePicker Class Reference
Magical Record Docs
CoreData Recipes Sample Project
Надежда эта помощь , удачи!
Итак, мой атрибут «фото» - это тип строки? – Totka
Правильно. Вы также можете назвать его «photoFileName» или «photoPath» ... Apple рекомендует хранить только очень маленькие изображения в Core Data, такие как миниатюры, и использовать этот метод для более крупных. – Mundi
Можете ли вы разместить образец кода для этого? – Totka