如何使用目标c在sqlite中保存自定义对象

时间:2014-08-16 12:32:49

标签: ios sqlite

我正在保存我的对象"消息"属于具有以下属性的QBChatMessage类

 ID: 1408191795.427892 
 senderID: 0 
 recipientID: 0 
 datetime: 2014-08-16 12:23:15 +0000 
 text: (null) 
 customParameters: (null) 
 attachments: (null)
 delayed: 0 
 senderNick: (null)

我使用这段代码将其保存在数据库中

NSData *dataFromArray = [NSKeyedArchiver archivedDataWithRootObject:message];

[[DBManager sharedDatabase]saveUserChatHistory:dataFromArray :self.dialog.ID];

在我的函数中(saveUSerChatHistory)我使用sqlite3_bind_blob函数保存数据

使用以下代码从sqlite返回

QBChatMessage *message=[[QBChatMessage alloc]init];

message = [NSKeyedUnarchiver unarchiveObjectWithData:myData];

并且在执行此操作时我收到以下错误

-[NSKeyedUnarchiver initForReadingWithData:]: incomprehensible archive (0x35, 0x33, 0x65, 0x66, 0x31, 0x30, 0x30, 0x64).

我既不使用核心数据也不使用FMDB,请帮助我知道如何在sqlite中保存我的对象。

1 个答案:

答案 0 :(得分:0)

将yapdatabase与带有coredata的sqlite或megical记录一起使用。希望它有所帮助..