码迷,mamicode.com
首页 > 其他好文 > 详细

9.添加好友 和删除

时间:2015-02-06 16:33:59      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

新建一个添加好友的ViewController为AddFriendViewController  和设置class

 连线text框 friendNameText

 

遵守<UITextFieldDlegate>

//设置文件框代理  //

-(BOOL)textFieldShouldReturn:(UITextField *)textField{

   //1.判断文本框是否输入内容   在.pch中导入 NSString+Helper.h头文件截断字符串 就不用每次都去导入头文件和LoginUser.h

  NSString *name = [textField.text trimstring];

  if (![name isEmptyString]){

    [self addFriendWithName:name];  //2.如果输入就调用添加好友方法

  }

  return YES;

 }

在viewDidLoad中 [_friendNameText becomeFirstResponder];  //进来就打开键盘

 

1. 自定义一个添加好友的方法

-(void)addFriendWithName:(NSString *)name{

   //1.判断是否由域名

  NSRange range = [name rangeOfString:@"@"];

 

  if (NSNotFound == renge.location){    //2.如果没有,添加域名完整的JID字符串  在name尾部添加域名

    name = [NSString stringWithFormat:@"%@@%@",name,[loginUser sharedLoginUser].hostName];

  }

  //3.判断是否与当前用户相同

  if([name isEqualToString:[LoginUser sharedLoginUser].myJIDName]){

  UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"自已不用添加自己"

                                              delegate:nil cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

    [alert show];

  return;

  }

  //4.判断是否已经是自己的好友

  (在花名册模块    设置接收好友订阅请求

   [_xmppRoster setAutoAcceptKnownPresenceSubscriptionRequests:YES];

   [_xmppRoster activate:_xmppStream];  )  

  在文件中添加appDelegate代理头文件

    因为经常写就可以定义成宏  #define xmppDelegate (AppDelegate *)[[UIApplication sharedApplication]delegate]; 

  //5.发送添加好友请求  //双向添加

  [[xmppDelegate xmppRoster] subscribePresenceToUser:[XMPPJID jidWithString:name]];  

  //提示用户,并返回上一级页面

  

UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"提示" message:@"添加好友请求已发送"

                                              delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];

   [alert show];

  [self.navigationController popViewControllerAnimated:YES];  

}

//遵守UIAlertViewDelegate代理

 

   //单向添加

  在AppDelegate.m中遵守协议<XMPPStreamDelegate,XMPPRosterDelegate>

   在代理.m文件中 添加用户展现方法

   -(void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence{
  //接收用户展示数据  意思 接收用户发送添加好友消息

  // 判断 接收到的presence类型是否为subscribe

    if([presence.type isEqualToString:@"subscribe"]{

  //2.取出presence中的from的JID

  XMPPJID *from = [presence from];

  //3.接受来自from添加为好友的订阅请求 

  [_xmppRoster subscribePresenceToUser:from]; 

    }

  }

 

   -(void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence{

  //接收到其它用户的请求

  }

 

  

9.添加好友 和删除

标签:

原文地址:http://www.cnblogs.com/qq907374866/p/4277197.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!