// 实现好友状态的获取 - 在线、离线 别的状态自己去写一下判断和回掉就好
.h
1/*!2* @Author Dylan.3*4* Paresence5*/6typedefvoid(^userGoOnline) (NSString *);7typedefvoid(^userGoOffline) (NSString *);89- (void)refreshRosterPResence: (userGoOnline)online10offline: (userGoOffline)offline;
.m
1#pragmamark presence2- (void)refreshRosterPresence: (userGoOnline)online3offline: (userGoOffline)offline {45self.rosterOnline =online;6self.rosterOffline =offline;7}89- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence {1011//get presence type12NSString * presenceType =[presence type];13NSString * userID =[[sender myJID] user];1415NSString * presencrFromUser =[[presence from] user];16if(![presencrFromUser isEqualToString:userID]) {17if([presenceType isEqualToString:@"available"]) {18self.rosterOnline(presencrFromUser);19}elseif([presenceType isEqualToString:@"unavailable"]) {20self.rosterOffline(presencrFromUser);21}22}23}
补上Block回掉申明
1/*!2* call back block3*/4@property (nonatomic, copy) userGoOnline rosterOnline;5@property (nonatomic, copy) userGoOffline rosterOffline;