> ## Documentation Index
> Fetch the complete documentation index at: https://cometchat-22654f5b-docs-angular-v5-docs-update.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Leave A Group

> Learn how to leave a group and receive real-time events when members leave using the CometChat iOS SDK.

<Accordion title="AI Integration Quick Reference">
  ```swift theme={null}
  // Leave a group
  CometChat.leaveGroup(GUID: "GUID", onSuccess: { response in }, onError: { error in })

  // Listen for member left events
  // Conform to CometChatGroupDelegate
  func onGroupMemberLeft(action: ActionMessage, leftUser: User, leftGroup: Group) { }
  ```
</Accordion>

Leave a group to stop receiving messages and updates from it. Once you leave, you'll need to rejoin to participate again.

<Note>
  Group owners cannot leave without first transferring ownership to another member. See [Transfer Group Ownership](/sdk/ios/transfer-group-ownership).
</Note>

## Leave a Group

Use `leaveGroup()` to leave a group.

| Parameter | Description                                   |
| --------- | --------------------------------------------- |
| `GUID`    | The GUID of the group you would like to leave |

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    let guid = "cometchat-guid-11"

    CometChat.leaveGroup(GUID: guid, onSuccess: { (response) in
        print("Left group successfully.")
    }, onError: { (error) in
        print("Group leaving failed with error:" + error!.errorDescription)
    })
    ```
  </Tab>

  <Tab title="Objective C">
    ```objc theme={null}
    NSString *guid = @"cometchat-guid-101";

    [CometChat leaveGroupWithGUID:guid onSuccess:^(NSString * response) {
        NSLog(@"Left group successfully. %@", response);
    } onError:^(CometChatException * error) {
        NSLog(@"Group leaving failed with error: %@", [error errorDescription]);
    }];
    ```
  </Tab>
</Tabs>

Once a group is left, the user will no longer receive any updates or messages pertaining to the group.

## Real-time Group Member Left Events

Register a `CometChatGroupDelegate` to receive events when members leave.

<Tabs>
  <Tab title="Swift">
    ```swift theme={null}
    class ViewController: UIViewController, CometChatGroupDelegate {
        
        override func viewDidLoad() {
            super.viewDidLoad()
            CometChat.groupdelegate = self
        }
        
        func onGroupMemberLeft(action: ActionMessage, leftUser: User, leftGroup: Group) {
            print("\(leftUser.name ?? "") left the group \(leftGroup.name ?? "").")
        }
    }
    ```
  </Tab>

  <Tab title="Objective C">
    ```objc theme={null}
    @interface ViewController ()<CometChatGroupDelegate>
    @end

    @implementation ViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
        [CometChat setGroupdelegate:self];
    }

    - (void)onGroupMemberLeftWithAction:(ActionMessage *)action leftUser:(User *)leftUser leftGroup:(Group *)leftGroup {
        // User left the group
    }

    @end
    ```
  </Tab>
</Tabs>

<Warning>
  Set delegate in `viewDidLoad()`: `CometChat.groupdelegate = self`. Remove delegate when view is dismissed to avoid memory leaks.
</Warning>

## Missed Group Member Left Events

When fetching message history, leave events appear as [`Action`](/sdk/reference/messages#action) messages (a subclass of [`BaseMessage`](/sdk/reference/messages#basemessage)) with:

| Field       | Value/Type                               | Description             |
| ----------- | ---------------------------------------- | ----------------------- |
| `action`    | `"left"`                                 | The action type         |
| `actionBy`  | [`User`](/sdk/reference/entities#user)   | The user who left       |
| `actionFor` | [`Group`](/sdk/reference/entities#group) | The group that was left |

***

## Next Steps

<CardGroup cols={2}>
  <Card title="Join a Group" icon="right-to-bracket" href="/sdk/ios/join-group">
    Join public or password-protected groups
  </Card>

  <Card title="Delete a Group" icon="trash" href="/sdk/ios/delete-group">
    Permanently delete a group
  </Card>

  <Card title="Kick & Ban Members" icon="user-slash" href="/sdk/ios/group-kick-member">
    Remove or ban members from a group
  </Card>

  <Card title="Retrieve Groups" icon="list" href="/sdk/ios/retrieve-groups">
    Fetch and filter the list of groups
  </Card>
</CardGroup>
