簡體   English   中英

如何從核心數據中的UIImageView保存UIImage

[英]How to save a UIImage from a UIImageView in Core Data

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

[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];

清理您的代碼:

  • 從圖像視圖獲取圖像
  • 將其轉換為NSData
  • 將其保存在您的核心數據實體中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM