SDKsiOS
Set a conversation draft
Save or clear a conversation draft with OpenIM iOS SDK.
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
| Parameter | Type | Required | Description |
|---|---|---|---|
conversationID | NSString * | Yes | Target conversation identifier. |
draftText | NSString * | Yes | Draft 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
draftTextanddraftTextTimeinto local conversation models usingconversationIDas the entity key. - Asynchronous event listening: Views observe updates via
onConversationChanged:inOIMConversationListener(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.
Was this page helpful?