[XMPP]iOS聊天软件学习笔记[一]

通过前面的学习后,准备开始正式自己写一个项目

开发时间:五天(工作时间)

开发工具:xcode6

开发平台:iOS8

XMPP框架:XMPPFramework

git clone https://github.com/robbiehanson/XMPPFramework.git 

界面设计:使用StoryBoard 

github地址:https://github.com/hjandyz/XMPP

 

 第一天基本完成了“其他登陆”界面,这里只将注意点做笔记

1.枚举和block的定义并用于回调

 typedef enum {

    XMPPResultTypeLoginSuccess,

    XMPPResultTypeLoginFailure,

    XMPPResultTypeNetErr

}XMPPResultType;


typedef void (^XMPPRresultBlock)(XMPPResultType type);

 

    if (error && _resultBlock) {

        _resultBlock(XMPPResultTypeNetErr);

    }

    if (_resultBlock) {

        _resultBlock(XMPPResultTypeLoginSuccess);

    } 

2.block内要把self设置成弱指针

    __weak typeof (self) weekSelf = self;

    [delegate xmppUserLogin:^(XMPPResultType type) {

        [weekSelf handleResultTye:type];

    }];

3.切换rootViewComtroller时记得dismiss模态窗口,不然会造成内存泄漏

//隐藏模态窗口

    [self dismissViewControllerAnimated:YES completion:nil]; 

 4.建立新连接前如果已经建立过连接要断开

    //如果以前连接过要断开

    [_XMPPStream disconnect];

    //连接主机

    [self connentToHost]; 

 5.MBProgressHUD如果view为nil会显示到window上面去

[MBProgressHUD showHUDAddedTo:view animated:YES] 

6.自定义Log的方法

//自定义log

#ifdef DEBUG

#define HJLog(...) NSLog(@"%s %@",__func__,[NSString stringWithFormat:__VA_ARGS__])

#else

#define HJLog(...)

#endif 

你可能感兴趣的:(XMPP)