Getting a Member List of a Group

A group owner and members can get a list of members of the group with the getMemberList(_:) method. This method will return a list of KiiUser instances representing group members.

Note that the KiiUser instance returned by the method only contains the ID. Execute the refreshSynchronous() method to get the user's latest information from Kii Cloud.

If the returned user is different from the logged-in user, available user information is limited. For more information, see User Attributes.

Here's an example:

Swift 3:

  • // Get a list of members of the group.
    guard let members = try? group.getMemberListSynchronous() as! [KiiUser] else{
      // Handle the error.
      return
    }
    
    for user in members{
      do{
        // Refresh the member to retrieve the latest data from Kii Cloud.
        try user.refreshSynchronous()
      } catch let error as NSError {
        // Handle the error.
        return
      }
    
      // Do something.
    }
  • // Get a list of members of the group.
    group.getMemberList { (group, members, error) -> Void in
      if error != nil {
        // Handle the error.
        return
      }
    
      // Create a dispatch queue to which blocks can be submitted.
      let serialQueue = DispatchQueue(label: "com.kii.serial", attributes: [])
    
      for obj in members! {
        let user = obj as! KiiUser
    
        // Submit a block for asynchronous execution on the dispatch queue.
        serialQueue.async(execute: {
          do{
            // Refresh the member to retrieve the latest data from Kii Cloud.
            try user.refreshSynchronous()
          } catch let error as NSError {
            // Handle the error.
            return
          }
    
          // Do something.
        })
      }
    }

Objective-C:

  • NSError *error;
    
    // Get a list of members of the group.
    NSArray *members = [group getMemberListSynchronous:&error];
    
    if (error != nil) {
      // Handle the error.
      return;
    }
    
    for (KiiUser *user in members) {
      // Refresh the member to retrieve the latest data from Kii Cloud.
      [user refreshSynchronous:&error];
    
      if (error != nil) {
        // Handle the error.
        return;
      }
    
      // Do something.
    }
  • // Get a list of members of the group.
    [group getMemberListWithBlock:^(KiiGroup *group, NSArray *members, NSError *error) {
      if (error != nil) {
        // Handle the error.
        return;
      }
    
      // Create a dispatch queue to which blocks can be submitted.
      dispatch_queue_t serialQueue = dispatch_queue_create("com.kii.serial", DISPATCH_QUEUE_SERIAL);
    
      for (KiiUser *user in members) {
        // Submit a block for asynchronous execution on the dispatch queue.
        dispatch_async(serialQueue, ^{
          // Refresh the member to retrieve the latest data from Kii Cloud.
          [user refreshSynchronous:&error];
    
          if (error != nil) {
            // Handle the error.
            return;
          }
    
          // Do something.
        });
      }
    }];