3

我正在为 iPhone 使用 xmppframework。我想知道如何检查我的特定域的所有可用用户?

谢谢

4

1 回答 1

5
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {

    NSString *presenceType = [presence type]; // online/offline
    NSString *myUsername = [[sender myJID] user];
    NSString *presenceFromUser = [[presence from] user];


    if (![presenceFromUser isEqualToString:myUsername]) {

        if ([presenceType isEqualToString:@"available"]) {
            [_chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"gmail.com"]];

        } else if ([presenceType isEqualToString:@"unavailable"]) {

            [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"gmail.com"]];

        }

    }
}

将此方法用于 AppDelegate 文件。

在此使用 newBuddyOnline 方法创建 @protocol。

在你想显示列表的地方,你只需在其中使用这些方法,..

- (void)newBuddyOnline:(NSString *)buddyName {

    [onlineBuddies addObject:buddyName];
    [self.TableView reloadData];
}

- (void)buddyWentOffline:(NSString *)buddyName {
    [onlineBuddies removeObject:buddyName];
    [self.TableView reloadData];
}
于 2011-09-08T13:52:40.200 回答