Browse SDKs · iOS
Platform
SDKsiOS

Set a conversation draft

Save or clear a conversation draft with OpenIM iOS SDK.

Copy

Save or clear draft messages for a specified conversation using setConversationDraft:draftText:onSuccess:onFailure:. While the user edits text, retain input values locally and apply debounce strategies; commit the final draft when the user leaves the chat view or changes conversations.

Parameters

ParameterTypeRequiredDescription
conversationIDNSString *YesTarget conversation identifier.
draftTextNSString *YesDraft message content. Pass an empty string @"" to clear the draft.

Code example

Save a draft

[[OIMManager manager] setConversationDraft:@"c2c_user1002"
                                 draftText:@"Meeting at 3:00 PM"
                                 onSuccess:^(NSString * _Nullable data) {
                                     NSLog(@"setConversationDraft success");
                                 }
                                 onFailure:^(NSInteger code, NSString *message) {
                                     NSLog(@"setConversationDraft failed: %ld %@", (long)code, message);
                                 }];

Clear a draft

[[OIMManager manager] setConversationDraft:@"c2c_user1002"
                                 draftText:@""
                                 onSuccess:^(NSString * _Nullable data) {
                                     NSLog(@"clear draft success");
                                 }
                                 onFailure:^(NSInteger code, NSString *message) {
                                     NSLog(@"clear draft failed: %ld %@", (long)code, message);
                                 }];

Return value

The onSuccess callback confirms that OpenIMServer saved or removed the draft.

State changes after the call

  • Local state merge: Merge draftText and draftTextTime into local conversation models using conversationID as the entity key.
  • Asynchronous event listening: Views observe updates via onConversationChanged: in OIMConversationListener (see Retrieve the conversation list).
  • Re-query calibration: To verify draft attributes immediately, invoke Retrieve conversations by ID. Clear in-memory editor states when logging out or switching user accounts.