2016-06-09 7 views
0

Я хочу сохранить сгенерированный qrcode для хранения в папке моего приложения. Затем используйте его как вспомогательный вид для ячейки в UITableView.Как сохранить qrcode (изображение), сгенерированное в папке приложения

-(void)generateQRCode 
{ 
    NSError *err;  
    NSMutableDictionary *dict = [[NSMutableDictionary alloc]init]; 

    [dict setValue:[Utility customerID] forKey:@"customerID"]; 
    [dict setValue:serverPath.text forKey:@"serverPath"]; 

    NSData *json = [NSJSONSerialization dataWithJSONObject:dict options:0 error:&err]; 
    NSString *jsonString = [[NSString alloc] initWithData:json encoding:NSISOLatin1StringEncoding]; 
    NSData *data = [jsonString dataUsingEncoding:NSISOLatin1StringEncoding]; 

    CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"]; 

    [filter setValue:data forKey:@"inputMessage"]; 
    [filter setValue:@"Q" forKey:@"inputCorrectionLevel"]; 

    qrcodeImage = filter.outputImage; 

    _imgQRCode.image = [UIImage imageWithCIImage:qrcodeImage]; 

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentPaths = [paths objectAtIndex:0]; 
    filepath = [documentPaths stringByAppendingString:@"qrcodeImage.png"]; 
    NSData *pngData = UIImagePNGRepresentation(_imgQRCode.image); 
    [pngData writeToFile:filepath atomically:YES]; 
} 
+0

Создайте изображение представления программно и сохраните его в каталоге документов –

ответ

0

Этот func вернет вам путь к документообороту.

func getDocumentsDirectory() -> NSString { 
let paths = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true) 
let documentsDirectory = paths[0] 
return documentsDirectory} 

Вы можете сохранить изображение в документах директории, используя этот код:

if let image = UIImage(named: "example.png") { 
if let data = UIImagePNGRepresentation(image) { 
    let filename = getDocumentsDirectory().stringByAppendingPathComponent("copy.png") 
    data.writeToFile(filename, atomically: true) 
}} 

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

+0

UIImagePNGRпредставляет сообщение nil. Есть ли проблема с этим? – Amon

+0

Как настроить его на вид аксессуаров. – Amon

+0

У вас есть изображение, добавленное в ваш проект, который вы пытаетесь преобразовать в данные? какое имя вы используете вместо example.png? –

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

  • Нет связанных вопросов^_^