2013-07-29 4 views
1

Здесь может быть дублированный вопрос, но я искал и не мог найти ответ.Сохраните PNG на диск, но сохраните путь к файлу Core Data

У меня есть приложение, которое принимает подпись от пользователя и сохраняет эту подпись как .png-файл. Вот код, который я использую:

-(void)saveSignature 

{ 
    UIGraphicsBeginImageContext(self.frame.size); 
    [self.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    signature = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    NSData *pngData = UIImagePNGRepresentation(signature); 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsPath = [paths objectAtIndex:0]; //Get the docs directory 
    NSString *filePath = [documentsPath stringByAppendingPathComponent:@"signature.png"]; 
    [pngData writeToFile:filePath atomically:YES]; //Write the file 
} 

Этот код отлично работает. Он сохраняет .png подписи в папке документов моего приложения. Что мне нужно сделать, это сохранить путь к моей базовой модели данных и получить доступ к ней через. Основные данные.

Если кто-то может указать мне в правильном направлении, это было бы здорово.

+0

В чем проблема? Все, что вам нужно сделать, это присвоить файловому файлу свойство string управляемого объекта и сохранить контекст. – Adam

+0

Это то, что я предполагал, но как мне получить к нему доступ? Если я его назову, не будут ли Core Data возвращать String? –

ответ

1

Вы не говорите, если у вас есть что-то еще в Core Data. Если вы это сделаете, просто создайте в своей модели атрибут imagePath и назначьте путь к нему. Затем просто загрузите изображение в UIImage, когда вам нужно, на основе модели, используя метод UIImage imageWithContentsOfFile:.

Если у вас еще нет Core Data на месте и сгенерированы модели, вам действительно нужно изучить Core Data, и StackOverflow может оказаться не лучшим местом для этого. This tutorial может быть хорошим местом для начала.

Мой первый совет, когда дело доходит до Core Data, заключается в использовании библиотеки MagicalRecord, что делает использование Core Data намного проще.

+1

Спасибо. У меня есть базовые данные, и у меня есть 1 объект с 3 атрибутами. Я хотел добавить четвертый для изображения. Я предполагаю, что я добавляю imagePath как String. Спасибо за помощь! –

Смежные вопросы