文档章节

XMPP中使用block,判断登录状态

小鸡蹲蘑菇
 小鸡蹲蘑菇
发布于 2015/06/15 17:13
字数 254
阅读 535
收藏 0
 typedef enum {
     
     XMPPResultTypeLoginSuccess, 登录成功
     XMPPResultTypeLoginFailure, 登录失败
     XMPPResultTypeNetErr, 网络不给力
     XMPPResultTypeRegisterSuccess, 注册成功
     XMPPResultTypeRegisterFailure 注册失败
 }XMPPResultType;//定义枚举,这里只用到了登录失败

 

 typedef void (^XMPPResultBlock)(XMPPResultType type); // XMPP请求结果的block


//定义登录方法、block作为数据类型传入

 -(void)xmppUserLogin:(XMPPResultBlock)resultBlock{
     
      // 先把block存起来
     _resultBlock = resultBlock;
    // NSLog(@"打印block%p",_resultBlock);
     [_xmppStream disconnect];
     
     //  连接主机 成功后发送登录密码
     [self connectToHost];
 }


合适的时候调用

     if (_resultBlock) {
          NSLog(@"%@",_resultBlock);
         _resultBlock(XMPPResultTypeLoginFailure);//在xmpp的验证失败的代理方法中传入定义好的枚举值
     }


//登录页面方法

//点击登录按钮后判断登录状态。成功?失败?
//接受到XMPPResultTypeLoginFailure并会跳到XMPPResultTypeLoginFailure这个case中。
  [self.location xmppUserLogin:^(XMPPResultType type) {
             dispatch_async(dispatch_get_main_queue(), ^{
                 [MBProgressHUD hideHUDForView:self.view];
                 switch (type) {
                     case XMPPResultTypeLoginSuccess:
                         NSLog(@"登录成功");
                         [self enterMainPage];
                         break;
                     case XMPPResultTypeLoginFailure:
                         NSLog(@"登录失败");
                         [MBProgressHUD showError:@"用户名或者密码不正确" toView:self.view];
                         break;
                     case XMPPResultTypeNetErr:
                         [MBProgressHUD showError:@"网络不给力" toView:self.view];
                     default:
                         break;
                 }
             });
             
         }];


© 著作权归作者所有

小鸡蹲蘑菇
粉丝 5
博文 68
码字总数 24144
作品 0
海淀
私信 提问
Java转iOS-第一个项目总结(1)

0.前言 本人14年12月份,从网站开发组转到了移动开发组,自己的java两年半工作经验变成了objective-c零经验。2015年1月份新启动了一个移动项目,年后因为人事变动,自己从辅助开发变成了"核心...

蛙牛
2015/03/31
12.7K
67
Android 聊天项目--D3Xmpp

D3Xmpp 是一个完整的 XMPP 的 Android 的项目 服务端使用 openfire 3.9.3 客户端使用 Android 4.2.2 集成第三方: 百度地图sdk asmack.jar universal-image-loader-1.9.3.jar 功能 注册登录会...

莫振华
2015/06/12
4.3K
0
XMPP之Smack 介绍

XMPP简介 原理 概述 XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。它在促进服务器之间的准即时操作。这个协议可能最终允许因特...

乐小文
2017/03/06
0
0
Android asmack使用介绍

XMPP协议简介 XMPP协议(Extensible Messaging and PresenceProtocol,可扩展消息处理现场协议)是一种基于XML的协议,目的是为了解决及时通信标准而提出来的,最早是在Jabber上实现的。它继...

让代码飞一会
2015/07/10
5.9K
0
基于loudmouth的XMPP客户端DEMO

这几天在公司一直在研究XMPP客户端软件DEMO的编写,下面的源代码是基于开源库loudmouth-1.4.3的XMPP客户端源代码。这段代码只是一个Demo,使用一个已经在服务器上注册了的用户登录到XMPP服务...

linuxhunter
2011/11/17
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

设计模式之访问者模式

定义 Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which......

陈年之后是青葱
昨天
10
0
PhotoShop 高级应用 : 分层云彩 - 简单闪电效果

1.创建黑白渐水平渐变图层 2.选择滤镜选项卡: 渲染--->分层云彩功能 3.将滤镜-云彩效果渲染后的图层进行反相操作 【此时出现闪电效果】 6.调整色阶,使得闪电效果更明显 7.创建剪贴蒙版:色...

东方墨天
昨天
11
0
三种实现Android主界面Tab的方式

三种实现Android主界面Tab的方式 https://www.cnblogs.com/caobotao/p/5103673.html

shzwork
昨天
11
0
java8-Optional类

背景 NPE问题,100%的Java程序员都碰到,并且曾经是心中的痛。 1965年英国TonyHoare引入了Null引用,后续的设计语言包括Java都保持了这种设计。 一个例子 业务模型 Person 有车一族, 有Car...

春天springcarter
昨天
11
0
py 登录github时token以及cookie的应用

import requestsfrom bs4 import BeautifulSoup## 获取tokenr1 = requests.get('https://github.com/login')s1 = BeautifulSoup(r1.text,'html.parser')token = s1.find(name='input',......

子枫Eric
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部