【问题标题】:How do I fix "Use of undeclared identifier 'message'" using MailCore2?如何使用 MailCore2 修复“使用未声明的标识符‘消息’”?
【发布时间】:2017-03-14 21:09:00
【问题描述】:

我在使用 MailCore2 时不断收到此错误。

使用未声明的标识符“消息”

我该如何解决这个问题?

这是我的代码。我不确定我做错了什么。

- (void)viewDidLoad {
    MCOIMAPSession *session = [[MCOIMAPSession alloc] init];
    [session setHostname:@"imap.gmail.com"];
    [session setPort:993];
    [session setUsername:[UICKeyChainStore stringForKey:@"username"]];
    [session setPassword:[UICKeyChainStore stringForKey:@"password"]];
    [session setConnectionType:MCOConnectionTypeTLS];
    MCOIMAPFetchContentOperation *operation = [session fetchMessageByUIDOperationWithFolder:@"INBOX" uid:message.uid];
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
}

【问题讨论】:

  • 那里:message.uidmessage从何而来?
  • 错误很明显。没有message这样的变量。
  • 我从here 得到这个代码。那么message 会是什么类型的变量呢?
  • 嗯,你应该明白你粘贴的代码了。
  • 大部分我都懂。只是不是那个特定的部分。

标签: objective-c mailcore2


【解决方案1】:

您正在使用函数调用“fetchMessageByUIDOperationWithFolder”,这意味着:从特定文件夹获取具有特定 UID 的消息。这就是为什么您必须指定要获取的消息的文件夹和 UID。

您的文件夹设置为“收件箱” - 这很好。 然而,您的变量“消息”,它应该具有“uid”的值,但没有定义。 你知道你试图在这里获取的消息的 UID 吗? 然后,您可以在代码部分“uid:”之后的函数调用中简单地使用您的 UID 的值指定变量

注意:在“didLoad”调用中,您似乎不太可能只希望获得一条消息,除非这是对只呈现一条消息的 ViewController 的 didLoad 调用。您仍然需要提供要获取到代码的消息的 UID 值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多