Я знаю, что этот вопрос задавали многие люди, и есть несколько дискуссий и аргументов: «Зачем использовать sqlite, использовать FMDB, основные данные» и т. Д. Для хранения или вставки изображений в базу данных. пожалуйста, поймите мою проблему, что я очень привык к sqlite3, и я не могу пойти с основными данными или некоторыми другими db. Также я просто изучаю этапы технологии iphone. Поэтому я прошу предоставить мне решение, которое может быть только с sqlite;)Хранить изображения в базе данных sqlite
Извините, если у вас возникнут какие-либо ошибки в моей просьбе!
У меня есть текстовое поле, в котором будет отображаться таблица с предложениями при вводе буквы, т. Е. из контактов, скажем, если я набираю буквы «L», «Лакшаман Рао, Прасанна Лакшми,« Локеш Шаран »и т. д.
Теперь я пытаюсь получить соответствующее изображение контакта из соответствующего контакта. Так что я искал пример кода о том, как получить контактные изображения и реализованы следующим образом:
NSData *imgData = nil;
imgData = (NSData *)ABPersonCopyImageData(ref);
contactImage = [UIImage imageWithData:imgData];
Теперь я искал подобного рода вопросы here и there и общий ответ был, чтобы сохранить изображение в каталоге документов в приложении и в db сохраняет только путь изображения.
Как вставить в капли в db сделает наш db очень очень медленным :(
Но как это сделать. Я не могу понять фрагмент кода в ссылках, которые я прошел правильно, как мне преобразовать contactImage, который имеет тип UIImage, NSString, чтобы я мог вставить строку в таблицу базы данных, содержащую запись типа VARCHAR!
EDIT
Это код, предложенный здесь:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *getImagePath = [documentsDirectory stringByAppendingPathComponent:@"savedImage.png"];
UIImage *img = [UIImage imageWithContentsOfFile:getImagePath];
Это код, который я внедрено:
ABAddressBookRef addressBook = ABAddressBookCreate();
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook);
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook);
NSString *contactFirstName = nil;
NSString *contactLastName = nil;
NSString *fullName = nil;
for (int i = 0; i < nPeople; i++)
{
ref = CFArrayGetValueAtIndex(allPeople, i);
contactFirstName = [[[NSString alloc] initWithString:(NSString *)ABRecordCopyValue(ref, kABPersonFirstNameProperty)]autorelease];
contactLastName = [[[NSString alloc] initWithString:(NSString *)ABRecordCopyValue(ref, kABPersonLastNameProperty)]autorelease];
contactLastName = [NSString stringWithFormat:@" %@",contactLastName];
fullName = [contactFirstName stringByAppendingString:contactLastName];
[contactList addObject:fullName];
}
NSData *imgData = nil;
imgData = (NSData *)ABPersonCopyImageData(ref);
contactImage = [UIImage imageWithData:imgData];
CFRelease(allPeople);
CFRelease(addressBook);
Пожалуйста, помогите мне, Борясь очень плохо, как бороться и переходите к следующему: (
Спасибо всем заранее :)
Какой фрагмент кода вы не получаете? его очень легко, если вы скопируете код вставки в Xcode и посмотрите ссылку, щелкнув каждый фрагмент кода с правой стороны Xcode. –
@ anonymous См. Отредактированную часть моего сообщения –
Я думаю, что @Hanon предоставил легко понятный ответ .. –