Wri*_*sCS 1 objective-c ios mailcore2
我能够使用获取所有消息fetchMessagesByUIDOperationWithFolder:,但是,当一些消息未读时,message.flags都返回0,大多数消息被读取而一些消息被加星标.
MCOIMAPMessagesRequestKind requestKind = MCOIMAPMessagesRequestKindHeaders;
NSString *folder = @"INBOX";
MCOIndexSet *uids = [MCOIndexSet indexSetWithRange:MCORangeMake(1, UINT64_MAX)];
MCOIMAPFetchMessagesOperation *fetchOperation = [session fetchMessagesByUIDOperationWithFolder:folder requestKind:requestKind uids:uids];
[fetchOperation start:^(NSError * error, NSArray * fetchedMessages, MCOIndexSet * vanishedMessages)
{
if ( ! error ) {
for ( MCOIMAPMessage * message_ in fetchedMessages ) {
// I only want UNREAD messages.
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用if ( message_.flags & MCOMessageFlagSeen )但仍然会将所有标志返回为0.
查看消息是否为UNREAD的正确方法是什么?
对于任何有相同问题的人,您还需要包含对标志的类型请求:MCOIMAPMessagesRequestKindFlags.
MCOIMAPMessagesRequestKind requestKind = MCOIMAPMessagesRequestKindHeaders|MCOIMAPMessagesRequestKindFlags;
Run Code Online (Sandbox Code Playgroud)
然后,查找未读标志:
for ( MCOIMAPMessage * message_ in fetchedMessages ) {
if ( message_.flags == 0 ) {
// I have a suspicion that this is not the correct
// way to do this, but it seems to work the way I need.
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1597 次 |
| 最近记录: |