0

我有一个自定义类 QBChatDialog 对象,我将其存储在 sqlite 数据库中,例如

  -(void)storeInDB:(QBChatDialog *)dialog {    
         NSString *query = = [NSString stringWithFormat:@"INSERT INTO dialogs (dialog_id,last_message) VALUES ('%@','%@')",dialog.ID,dialog.lastMessageText];
        //run the query
}

然后我从数据库中检索 NSDictionary 。

// after fetching as an array in dbrecord 
NSDictionary *dialogDictionary = @{@"dialog_id":[dbrecord objectAtIndex:DIALOG_ID_INDEX],
                                 @"dialog_last_message":dbrecord objectAtIndex:DIALOG_LAST_MESSAGE_INDEX]
                                  };

如何将其映射回QBChatDialog类,以获取类似dialog.IDor的值dialog.lastMessageText。该类是第三方 API,一些属性是read-only.

谢谢

4

1 回答 1

0

您不需要设置只读属性,因此您基本上可以打开您的 NSDictionary,只需确保您确定存储对话框 ID 及其类型,以便您可以从以下代码开始:

QBChatDialog *fetchedDialog = [[QBChatDialog alloc] initWithDialogID:dialogDictionary[@"dialog_id"] type:dialogDictionary[@"dialog_type"]];

之后只需设置您需要的每个字段,这不是只读的,例如:

fetchedDialog.lastMessageText = dialogDictionary[@"dialog_last_message"];
于 2015-11-24T13:23:44.793 回答