2012-04-25 37 views
6

Tôi là một newbie liên quan đến dữ liệu cốt lõi. Có thể bất kỳ một trong những giúp tôi để cung cấp các bước/hướng dẫn thích hợp cho thấy làm thế nào để lưu hình ảnh vào dữ liệu cốt lõi và retrival của nó quá.Tôi có thể lưu trữ dữ liệu chuỗi đã có, nhưng ứng dụng của tôi treo khi cố gắng để lưu hình ảnh. Đối với tiết kiệm:Lưu hình ảnh vào lõi

DataEvent *event = (DataEvent *)[NSEntityDescription insertNewObjectForEntityForName:@"DataEvent" 
                  inManagedObjectContext:managedObjectContext]; 
NSURL *url2 = [NSURL URLWithString:@"xxxxxxxxxxxxxxx SOME URL xxxxxxxxxxxx"]; 

NSData *data = [[NSData alloc] initWithContentsOfURL:url2]; 
imageSave=[[UIImage alloc]initWithData:data]; 
NSData * imageData = UIImageJPEGRepresentation(imageSave, 100.0);  
[event setValue:self.imageSave forKey:@"pictureData"]; 

Đối retrival:

DataEvent *event = (DataEvent *)[eventsArray objectAtIndex:indexPath.row]; 
UIImage *image = [UIImage imageWithData:[event valueForKey:@"pictureData"]]; 
UIImageView *imageViewMainBackGround = [[UIImageView alloc] 
CGRect rect3=CGRectMake(0,2,100.0,100.0); 
imageViewMainBackGround.frame = rect3; 
[cell.contentView addSubview:imageViewMainBackGround]; 
[imageViewMainBackGround release]; 
+0

một datatype cho "pictureData" trong tập tin mô hình của bạn là gì? –

+0

Kiểu dữ liệu nhị phân của nó –

+0

"Mô hình được sử dụng để mở cửa hàng không tương thích với mô hình được sử dụng để tạo cửa hàng" bạn nhận được lỗi này ở đâu? –

Trả lời

0

Bạn cần phải thiết lập các pictureData giá trị của đối tượng quản lý của bạn đến đối tượng NSData (trong trường hợp của bạn imageData), không phải là imageSave đối tượng, là UIImage.

1

Không thay đổi độ phân giải nếu nó không cần thiết ..

NSData * imageData = UIImageJPEGRepresentation(imageSave, 0.0); 

// và thay đổi sau dòng

[event setValue:imageData forKey:@"pictureData"]; 

See the store and Retrieve image from core data tutorial with sample code.

Hope, điều này sẽ giúp bạn ..

+0

Xin chào sau khi làm điều này, tôi nhận được lỗi: lý do = "Mô hình được sử dụng để mở cửa hàng không tương thích với mô hình được sử dụng để tạo cửa hàng"; –

+0

nơi lưu hoặc truy xuất ..? – Nit

+0

trong Lưu dữ liệu hình ảnh –

2

error: reason = "The model used to open the store is incompatible with the one used to create the store"

giải pháp:

xóa dự án xây dựng khỏi trình mô phỏng và xóa khỏi tab Sản phẩm, hiện đang chạy dự án.

9

Để tiết kiệm:

NSData *imageData = UIImagePNGRepresentation(myUIImage); 

[newManagedObject setValue:imageData forKey:@"imageKey"]; 

Và để retrive Ảnh:

NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath]; 
UIImage *image = [UIImage imageWithData:[selectedObject valueForKey:@"imageKey"]]; 
[[newCustomer yourImageView] setImage:image]; 

thay đổi định dạng

Các vấn đề liên quan