2011-07-26 3 views

答えて

5
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence { 

    NSString *presenceType = [presence type]; // online/offline 
    NSString *myUsername = [[sender myJID] user]; 
    NSString *presenceFromUser = [[presence from] user]; 


    if (![presenceFromUser isEqualToString:myUsername]) { 

     if ([presenceType isEqualToString:@"available"]) { 
      [_chatDelegate newBuddyOnline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"gmail.com"]]; 

     } else if ([presenceType isEqualToString:@"unavailable"]) { 

      [_chatDelegate buddyWentOffline:[NSString stringWithFormat:@"%@@%@", presenceFromUser, @"gmail.com"]]; 

     } 

    } 
} 

AppDelegateファイルにこのメソッドを使用します。

これは@protocol with newBuddyOnlineメソッドを作成します。

そして、あなたはリストを表示したい場合は、あなただけのことでこれらのメソッドを使用..

- (void)newBuddyOnline:(NSString *)buddyName { 

    [onlineBuddies addObject:buddyName]; 
    [self.TableView reloadData]; 
} 

- (void)buddyWentOffline:(NSString *)buddyName { 
    [onlineBuddies removeObject:buddyName]; 
    [self.TableView reloadData]; 
} 
+1

応答の上に取得する方法?サーバにサーバにリクエストする必要があることを意味します。ステータスを持つ友人のリストを私に送信します。 – iphonedev23

+0

上記は私に現在のログインユーザーの存在を示し、他の抵抗ユーザーの存在を示さない – Learner

+0

@ Suresh.Dどのように私はこれらの2つのメソッドを代理人から呼び出すことができますか? – Sushrita

関連する問題