String 使用核心数据发送带有字符串的电子邮件

String 使用核心数据发送带有字符串的电子邮件,string,email,core-data,String,Email,Core Data,我已经建立了一个核心数据模型,我希望能够点击一个条目,并有一个包含核心数据内容的空白电子邮件弹出窗口。这是我保存数据的代码- NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context]; NSNumber *timetickNumber = [NSNumber numberWithInt:timeTick];

我已经建立了一个核心数据模型,我希望能够点击一个条目,并有一个包含核心数据内容的空白电子邮件弹出窗口。这是我保存数据的代码-

NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
NSNumber *timetickNumber = [NSNumber numberWithInt:timeTick];
NSString *versionString  = [NSString stringWithFormat:@"Minutes of %@", self.versionTextField.text];
[newDevice setValue:timetickNumber forKey:@"name"];
[newDevice setValue:versionString forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];
提前谢谢

您不能单击(或点击)核心数据对象,因为它们没有任何UI,也不响应UI事件。您想要的一般流程可能类似于:

  • 找出应该触发电子邮件操作的UI元素——按钮、表行或您正在使用的任何UI元素

  • 在点击该元素的处理程序方法中,创建
    MFMailComposeViewController
    。发生这种情况的位置取决于您使用的UI元素。如果您的UI元素是一个按钮,则无论点击按钮时调用什么方法,都会发生这种情况。如果UI元素是一个表行,您可能希望在表视图的委托中使用
    tableView:didSelectRowAtIndexPath:
  • 在相同的方法中,获取对要发送的托管对象的引用。如果您更早地获取(或创建)了它,您可能已经有了一个指向它的实例变量。如果没有,您可能需要在这里取

  • 在显示
    MFMailComposeViewController
    之前,请配置消息正文(通过
    setMessageBody:isHTML:
    )或附件(通过
    addAttachmentData:MimetType:fileName:
    )以包含托管对象数据中的数据
  • 向用户显示邮件撰写视图

  • 你在找什么?您是否尝试发送电子邮件,如果是,发生了什么?你试过使用MFMailComposeViewController吗?@TomHarrington我有一个带有MFMailComposeViewController的视图控制器。我还将消息UI框架添加到我的项目中。我想知道如何使用它,这样我就可以单击一个核心数据条目,它将打开视图控制器,其中包含字符串格式的数据。我有一个表视图控制器来显示核心数据。你能告诉我在哪里创建MFMailComposeViewController吗?另外,如何判断是否有步骤3的实例变量?步骤2描述了在何处创建mail compose视图。如果您创建了一个实例变量并为其赋值,则在步骤3中有一个实例变量,否则就没有。
    MFMailComposeViewController
    有很好的文档记录,您不了解哪一部分?