zoukankan      html  css  js  c++  java
  • xmpp开发教程(四)-获取好友列表

    这章节主要是介绍如何获取好友列表,在这里主要是做功能部分,后续更新的时候就将界面也做上去

    首先提供下核心代码

    1  xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] init];
    2         //    xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] initWithInMemoryStore];
    3         
    4         xmppRoster = [[XMPPRoster alloc] initWithRosterStorage:xmppRosterStorage];
    5         
    6         xmppRoster.autoFetchRoster = YES;
    7         xmppRoster.autoAcceptKnownPresenceSubscriptionRequests = YES;
    8         [xmppRoster            activate:xmppStream];
    9         [xmppRoster addDelegate:self delegateQueue:dispatch_get_main_queue()];

    这段代码上个章节已经介绍过了,主要是获取好友信息,这个时候它会回调

     1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     2 #pragma mark ReceiveIQ
     3 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
     4 
     5 - (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq
     6 {
     7     NSLog(@"%@: %@", THIS_FILE, THIS_METHOD);
     8     
     9     if ([@"result" isEqualToString:iq.type]) {
    10         NSXMLElement *query = iq.childElement;
    11         if ([@"query" isEqualToString:query.name]) {
    12             NSArray *items = [query children];
    13             for (NSXMLElement *item in items) {
    14                 NSString *jid = [item attributeStringValueForName:@"jid"];
    15                 XMPPJID *xmppJID = [XMPPJID jidWithString:jid];
    16                 [self.roster addObject:xmppJID];
    17             }
    18         }
    19     }
    20     
    21     return NO;
    22 }

    我们将获取的好友信息变存在self.roster这个数组中了。

  • 相关阅读:
    [linux] 将socket设置为非阻塞(nonblocking)
    翻译—IvorHorton的Begining Visual C++ 2005 [第一章]
    深入解析ATL(第二版ATL8.0)(1.11.3节)
    gdb使用初步
    编程其实就是一个不断做出选择的过程
    windows和linux下多线程的一些区别
    makefile编写入门
    深入解析ATL(第二版ATL8.0)(1.41.7节)
    深入解析ATL(第二版ATL8.0)(1.81.10节)
    用gdb调试子进程
  • 原文地址:https://www.cnblogs.com/guchengfengyun/p/4049074.html
Copyright © 2011-2022 走看看