Iphone 将数据写入plist时,电子邮件是什么类型?

Iphone 将数据写入plist时,电子邮件是什么类型?,iphone,xcode,email,uitableview,plist,Iphone,Xcode,Email,Uitableview,Plist,我正在使用plist填充uitableview。我想知道,因为我的钥匙之一是电子邮件,它会是什么类型的?数据、字符串等。基本思想是创建一个表,点击电子邮件单元格,然后弹出电子邮件模式视图。我该怎么做呢? 谢谢我将使用的数据类型是字符串。然后你可以拔出这根绳子,在你需要的地方使用它。对于电子邮件,您需要执行以下操作(我假设您能够从plist中读取字符串并在UITableViewCell中使用): 将这两行“if(picker)[picker release];if(picker)picker=ni

我正在使用plist填充uitableview。我想知道,因为我的钥匙之一是电子邮件,它会是什么类型的?数据、字符串等。基本思想是创建一个表,点击电子邮件单元格,然后弹出电子邮件模式视图。我该怎么做呢?
谢谢

我将使用的数据类型是字符串。然后你可以拔出这根绳子,在你需要的地方使用它。对于电子邮件,您需要执行以下操作(我假设您能够从plist中读取字符串并在UITableViewCell中使用):

将这两行“if(picker)[picker release];if(picker)picker=nil;”更改为“[picker release];”。
#pragma mark -
#pragma mark Compose Mail

-(void)callMailComposer
{
    Class mailClass = (NSClassFromString(@"MFMailComposeViewController"));
    if (mailClass != nil)
    {
        // We must always check whether the current device is configured for sending emails
        if ([mailClass canSendMail])
        {
            [self displayComposerSheet];
        }
        else
        {
            [self launchMailAppOnDevice];
        }
    }
    else
    {
        [self launchMailAppOnDevice];
    }
}

// Displays an email composition interface inside the application. Populates all the Mail fields. 
-(void)displayComposerSheet
{
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;
    [picker setSubject:@"My email subject"];

   //Just an extra example if you were wanting to add an attachment :)
   /* NSString* pdfFileName = @"pdf_file.pdf";
    NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
    NSString* documentDirectory = [documentDirectories objectAtIndex:0];
    NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:pdfFileName];

    [picker addAttachmentData:[NSData dataWithContentsOfFile:documentDirectoryFilename] mimeType:@"application/pdf" fileName:pdfFileName]; */

    // Set up recipients
    [picker setCcRecipients:nil];   
    [picker setBccRecipients:nil];
    [picker setToRecipients:[NSArray arrayWithObjects:@"myEmailAddressFromPlist",nil]];

    NSString *emailBody = @"Hey you got mail";
    [picker setMessageBody:emailBody isHTML:YES];

    [self presentModalViewController:picker animated:YES];

    [picker release];
     picker=nil;
}

// Dismisses the email composition interface when users tap Cancel or Send. Proceeds to update the message field with the result of the operation.
- (void)mailComposeController:(MFMailComposeViewController*)controller didFinishWithResult:(MFMailComposeResult)result error:(NSError*)error
{    
    NSString* alertMessage;
    // Notifies users about errors associated with the interface
    switch (result)
    {
        case MFMailComposeResultCancelled:
            alertMessage = @"Email composition cancelled";
        break;
        case MFMailComposeResultSaved:
            alertMessage = @"Your e-mail has been saved successfully";
        break;
        case MFMailComposeResultSent:
            alertMessage = @"Your email has been sent successfully";
        break;
        case MFMailComposeResultFailed:
            alertMessage = @"Failed to send email";
        break;
        default:
            alertMessage = @"Email Not Sent";
        break;
    }

    UIAlertView* alertView = [[UIAlertView alloc] initWithTitle:@"My application" message:alertMessage delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];
    [alertView release];

    [self dismissModalViewControllerAnimated:YES];
}

#pragma mark Workaround

// Launches the Mail application on the device.
-(void)launchMailAppOnDevice
{

//You will need to fill these in 
    NSString *recipients = @"mailto:?cc=&subject=";
    NSString *body = @"&body=";
    NSString *email = [NSString stringWithFormat:@"%@%@", recipients, body];
    email = [email stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:email]];
}