2012-08-28 36 views
0

我在UIImageView中遇到問題。在項目中,我用了兩個UIImageView S(mainview用於保存背景顏色和drawimage繪圖),一個與其他的子視圖:如何在UIImageView中保存UIImageView中的UIImage

[self.view addSubview:mainview]; 
[self.mainview addSubview:drawImage]; 

的問題是,每當我試圖保存在覈心對象數據只保存一個圖像。這是我的代碼:

if(checkedcore==YES) 
       { 

       NSData *imageData = UIImageJPEGRepresentation(mainview.image,1.0); 
       NSManagedObject *imagetblObj= [NSEntityDescription insertNewObjectForEntityForName:@"Imagedata" inManagedObjectContext:context]; 



       //[imagetblObj setValue:<#(id)#> forKey:<#(NSString *)#>] 



       //[imagetblObj setValue:self.imageData forKey:@"imageData"]; 
       [imagetblObj setValue:imageData forKey:@"imageData"]; 
       [imagetblObj setValue:self.textfield.text forKey:@"date"]; 
       [imagetblObj setValue:@"table" forKey:@"tabletext"]; 

       [context deleteObject:imagemanaged]; 


       [context insertObject:imagetblObj]; 

       NSError *err; 
       if (![context save:&err]) 
       { 
        NSLog(@"Couldn't save history item into coredata"); 
       } 
       else 
       { 

        NSLog(@"data saved"); 
       } 

       UIAlertView *alertview=[[UIAlertView alloc]initWithTitle:@"" message:@"Image Updated" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
       [alertview show]; 

       NSLog(@"data saved"); 


       NSLog(@"save clicked"); 

       /// [self getcoredata]; 

       // TextPlacedViewController *viewcontroller=[[TextPlacedViewController alloc]initWithNibName:@"TextPlacedViewController" bundle:nil]; 
       ///viewcontroller.tabledata=self.array; 
       ////viewcontroller.myimage=drawImage.image; 
       ///[self.view addSubview:viewcontroller.view]; 
        // [self.navigationController popViewControllerAnimated:YES]; 
       } 
       } 


      else 
      { 
       mainview.image=drawImage.image; 
     NSData *imageData = UIImageJPEGRepresentation(mainview.image, 1.0); 


      if(![imageData isKindOfClass:[NSNull class]]||imageData==nil) 
      { 

     NSManagedObjectContext *context = [appDelegate managedObjectContext]; 
     NSManagedObject *imagetblObj= [NSEntityDescription insertNewObjectForEntityForName:@"Imagedata" inManagedObjectContext:context]; 

     [imagetblObj setValue:imageData forKey:@"imageData"]; 

     [imagetblObj setValue:self.textfield.text forKey:@"date"]; 
     [imagetblObj setValue:@"table" forKey:@"tabletext"]; 
     NSError *err; 
     if (![context save:&err]) 
     { 
      NSLog(@"Couldn't save history item into coredata"); 
     } 
     UIAlertView *alertview=[[UIAlertView alloc]initWithTitle:@"" message:@"Data Saved" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
     [alertview show]; 

     NSLog(@"data saved"); 


     NSLog(@"save clicked"); 

     /// [self getcoredata]; 

     saveimageviewcontroller *viewcontroller=[[saveimageviewcontroller alloc]initWithNibName:@"saveimageviewcontroller" bundle:nil]; 
     ///viewcontroller.tabledata=self.array; 
     ////viewcontroller.myimage=drawImage.image; 
     ///[self.view addSubview:viewcontroller.view]; 
     [self.navigationController pushViewController:viewcontroller animated:YES]; 
+2

假裝你是別人。現在再次閱讀這個問題並嘗試理解它。 – 2012-08-28 10:28:42

+0

你的代碼沒有意義,沒有上下文的括號過多。你可以只發布相關的代碼嗎? – Mundi

+0

儘量減少你的代碼示例的本質,至少你現在有一半。問題是否抓住了兩個圖像?問題是將它們存儲在託管對象上下文中嗎? – leo

回答

1

清理代碼:

  • 得到的圖像視圖圖像
  • 將其轉換爲NSData
  • 將它保存在您的核心數據實體