【问题标题】:Capturing Signature to Core Data捕获核心数据的签名
【发布时间】:2014-07-27 05:19:48
【问题描述】:

我有一个应用程序,它创建一个字段供用户签署他们的名字。单击保存签名后,我要创建图像,将其保存为 png,并将其保存到核心数据。

“飞行员签名”是它自己的实体,带有属性图像。

- (IBAction)saveSignature:(id)sender)  {
    NSData *imageData = UIImagePNGRepresentation(mySignatureImage.image);

    // Create an image object for the new image.
    NSManagedObject *image =
    [NSEntityDescription insertNewObjectForEntityForName:@"Image"
                                  inManagedObjectContext:self.managedObjectContext];
    self.mySignatureImage = imageData;
    // Set the image for the image managed object.
    [image setValue:image forKey:@"PilotSignatureImage"];
}

我在调用saveSignature 时收到一个错误和一个警告

预期有条不紊的身体

self.MySignature.image 线上我得到了

从“NSManagedObject”分配给“UIImageView”的不兼容类型

我在这里查看了有关如何将图像保存到核心数据的类似帖子,但我没有运气弄清楚我做了什么不同的事情。

任何帮助将不胜感激

【问题讨论】:

标签: ios core-data uiimage


【解决方案1】:

此代码存在严重问题。首先,这一行是无效的Objective-C:

- (IBAction)saveSignature:(id)sender)  {

最后一个) 不应该在那里。这可能会解释“预期方法体”错误,因为您混淆了编译器。

没有self.MySignature.image 行。我猜你的意思是给self.mySignatureImage赋值的那一行。

self.mySignatureImage = imageData;

该错误告诉您的是self.mySignatureImageUIImageView,但imageDataNSManagedObject。您不能将其中一个分配给另一个,因为它们是完全不相关的事物。也许您打算在这里输入self.mySignature.image,因为您在问题中提到了这一点?

最后这一行没有任何意义:

[image setValue:image forKey:@"PilotSignatureImage"];

您将image 分配为其自身的一个属性。那一定是错的。也许你想在这里分配imageData

猜测最后几行应该是这样的,但从问题中无法确定:

self.mySignature.image = imageData;
[image setValue:imageData forKey:@"PilotSignatureImage"];

根据您提出的这个问题和其他相关问题,我认为您最好回顾一下 Objective-C 的一些基础知识。您似乎遇到了与 Core Data 或图像处理没有直接关系的基本问题。

【讨论】:

    猜你喜欢
    • 2013-01-26
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多