Mailcore2查看离线

时间:2015-07-06 12:12:54

标签: ios objective-c mailcore2

我可以将MCOIMAPMessage存储在持久存储中,以便在设备没有互联网时使用。我能够显示电子邮件表格视图的列表。现在,当我打开任何电子邮件时,即使设备处于脱机状态,它也应该打开相关内容。但是,当iPhone没有互联网连接时,它没有显示电子邮件内容。

即使设备处于离线状态,我也会在此处正确设置所需的属性, Masterviewcontroller.m:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

switch (indexPath.section)
{
    case 0:
    {
        MCOIMAPMessage *msg = self.messages[indexPath.row];
        //selectedMessage = self.messages[indexPath.row];

        // Setting email flag as READ status
        MCOIMAPOperation *op = [self.imapSession storeFlagsOperationWithFolder:folderList.selectedFolder
                                                                 uids:[MCOIndexSet indexSetWithIndex:msg.uid]
                                                                 kind:MCOIMAPStoreFlagsRequestKindAdd
                                                                flags:MCOMessageFlagSeen];
        [op start:^(NSError *error) {
            if (!error) {
                NSLog(@"Updated flags");
            } else {
                NSLog(@"Error updating flags: %@", error);
            }
        }];

        MCTMsgViewController *vc = [[MCTMsgViewController alloc] init];
        //vc.folder = @"INBOX";
        vc.folder = folderList.selectedFolder;
        vc.message = msg;
        vc.session = self.imapSession;
        [self.navigationController pushViewController:vc animated:YES];

        break;
    }

在MCOMessageView.mm中,它一直在使用" htmlRenderingWithFolder"

    - (void) _refresh
{
    NSString * content;

    if (_message == nil) {
        content = nil;
    }
    else {
        if ([_message isKindOfClass:[MCOIMAPMessage class]]) {
            content = [(MCOIMAPMessage *) _message htmlRenderingWithFolder:_folder delegate:self];

            AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
            appDelegate.mailBodyMessage = content;
        }
        else if ([_message isKindOfClass:[MCOMessageBuilder class]]) {
            content = [(MCOMessageBuilder *) _message htmlRenderingWithDelegate:self];
        }
        else if ([_message isKindOfClass:[MCOMessageParser class]]) {
            content = [(MCOMessageParser *) _message htmlRenderingWithDelegate:self];
        }
        else {
            content = nil;
            MCAssert(0);
        }
    }
    if (content == nil) {
        [_webView loadHTMLString:@"" baseURL:nil];
        return;
    }

    NSMutableString * html = [NSMutableString string];
    [html appendFormat:@"<html><head><script>%@</script><style>%@</style></head>"
        @"<body>%@</body><iframe src='x-mailcore-msgviewloaded:' style='width: 0px; height: 0px; border: none;'>"
        @"</iframe></html>", mainJavascript, mainStyle, content];
    [_webView loadHTMLString:html baseURL:nil];
}

但是,当打开来自Masterviewcontroller.m的电子邮件时,任何电子邮件的内容都显示为空白。

即使设备处于离线模式,请在此处正确显示我要做的事情,以显示电子邮件内容。

0 个答案:

没有答案