ios把服务器上的数据插到环信demo的数据库,出错了

问题描述

[[EaseMob sharedInstance].chatManager insertMessagesToDB:array1];array是一个字典数组[{    id = 2121,    filename = ,    status = 1,    msg_id = 82839550610637252,    msg_type = txt,    type = chatmessage,    timestamp = 1436852385910,    url = ,    to_user = 81364249049301408,    secret = ,    lat = 0,    chat_type = groupchat,    ext = null,    lng = 0,    addr = ,    msg = 红,    length = 0,    from_user = 19},{    id = 2120,    filename = ,    status = 1,    msg_id = 82839536849125828,    msg_type = txt,    type = chatmessage,    timestamp = 1436852382701,    url = ,    to_user = 81364249049301408,    secret = ,    lat = 0,    chat_type = groupchat,    ext = null,    lng = 0,    addr = ,    msg = 他用,    length = 0,    from_user = 19},错误原因 -[__NSCFDictionary conversationChatter]: unrecognized selector sent to instance 0x10af59802015-07-27 15:00:12.525 breezeTourism[40993:1322549] NSScanner: nil string argument2015-07-27 15:00:12.525 breezeTourism[40993:1322549] NSScanner: nil string argument

解决方案

消息数据要包成EMMessage对象,然后才能插入到db的。
解决方案二:
怎么包装成EMMessage,是把我的字典数组转成模型吗,转成这个模型么,MessageModel *model?
解决方案三:
http://www.easemob.com/docs/io ... alloc
解决方案四:
我也是要这样写么,假如我保全上面的字典,有文字,图片,语音,视频等- (void)loadMessage{    NSDictionary *imageDic = @{EMMessageBodyAttrKeySecret:@"fmIgiuSuEeSdyLffbqYspd3oOH6uMSGkXaOvZUF9ayy5b26c",                               EMMessageBodyAttrKeySize:@{EMMessageBodyAttrKeySizeWidth:@laznrbfe,EMMessageBodyAttrKeySizeHeight:@1136},                               EMMessageBodyAttrKeyFileName:@"image.jpg",                               EMMessageBodyAttrKeyType:EMMessageBodyAttrTypeImag,                               EMMessageBodyAttrKeyUrl:@"https://a1.easemob.com/easemob ... ot%3B,                               EMMessageBodyAttrKeyFileLength:@178212};    EMImageMessageBody *imageBody = [EMImageMessageBody imageMessageBodyFromBodyDict:imageDic forChatter:_chatter];    EMMessage *image = [[EMMessage alloc] initMessageWithID:@"50152415936119390" sender:_chatter receiver:@"my_test4" bodies:@[imageBody]];    image.timestamp = ([[NSDate date] timeIntervalSince1970] - 10) * 1000;    image.isReadAcked = YES;    image.deliveryState = eMessageDeliveryState_Delivered;    image.isRead = YES;    image.isGroup = self.isChatGroup;    image.conversationChatter = @"my_test5";    NSDictionary *voiceDic = @{EMMessageBodyAttrKeySecret:@"ZTKmSuSxEeS2upsPo9JVK-E7e7W_Ieu6g55uSbYCQikqSmh1",                               EMMessageBodyAttrKeyFileName:@"audio chat",                               EMMessageBodyAttrKeyDuration:@自由的天天天,                               EMMessageBodyAttrKeyType:EMMessageBodyAttrTypeAudio,                               EMMessageBodyAttrKeyUrl:@"https://a1.easemob.com/easemob ... ot%3B,                               EMMessageBodyAttrKeyFileLength:@8870};    EMVoiceMessageBody *voiceBody = [EMVoiceMessageBody voiceMessageBodyFromBodyDict:voiceDic forChatter:_chatter];    EMMessage *voice = [[EMMessage alloc] initMessageWithID:@"50152415936119490" sender:_chatter receiver:@"my_test4" bodies:@[voiceBody]];    voice.timestamp = ([[NSDate date] timeIntervalSince1970] - 5) * 1000;    voice.isReadAcked = YES;    voice.deliveryState = eMessageDeliveryState_Delivered;    voice.isRead = YES;    voice.isGroup = _isChatGroup;    voice.conversationChatter = @"my_test5";    NSDictionary *videoDic = @{EMMessageBodyAttrKeySecret:@"ANfQauSzEeSWceXUdNLCzOoCWyafJ0jg5AticaEKlEVCeqD2",                               EMMessageBodyAttrKeyDuration:@12,                               EMMessageBodyAttrKeyThumbSecret:@"AHShyuSzEeS9Eo2-FC-hEqTv7L96P5LNxUCo2zGrbZfu9FWz",                               EMMessageBodyAttrKeySize:@{EMMessageBodyAttrKeySizeWidth:@阿密特,EMMessageBodyAttrKeySizeHeight:@90},                               EMMessageBodyAttrKeyThumb:@"https://a1.easemob.com/easemob ... ot%3B,                               EMMessageBodyAttrKeyFileName:@"video.mp4",                               EMMessageBodyAttrKeyType:@"video",                               EMMessageBodyAttrKeyFileLength:@1235670,                               EMMessageBodyAttrKeyUrl:@"https://a1.easemob.com/easemob ... ot%3B};    EMVideoMessageBody *videoBody = [EMVideoMessageBody videoMessageBodyFromBodyDict:videoDic forChatter:_chatter];    EMMessage *video = [[EMMessage alloc] initMessageWithID:@"50152415936119590" sender:_chatter receiver:@"my_test4" bodies:@[videoBody]];    video.timestamp = ([[NSDate date] timeIntervalSince1970] - 1) * 1000;    video.isReadAcked = YES;    video.deliveryState = eMessageDeliveryState_Delivered;    video.isRead = YES;    video.isGroup = _isChatGroup;    video.conversationChatter = @"my_test5";    [[EaseMob sharedInstance].chatManager insertMessagesToDB:@[image, voice, video]];    [[EaseMob sharedInstance].chatManager loadAllConversationsFromDatabaseWithAppend2Chat:YES];}
解决方案五:
对的,你的消息数据要包成EMMessage对象,然后才能插入到db。
解决方案六:
但我是上面字典一组数据,- (NSInteger)insertMessagesToDB:(NSArray *)messages;这个数组装的是EMMessage对象是不是,要不要把我的字典数组转成模型后在给EMMessage对象传值

时间: 2024-10-01 17:19:12

ios把服务器上的数据插到环信demo的数据库,出错了的相关文章

iOS环信demo的数据库名字叫什么?

问题描述 解决方案 app/library/easemobDB文件夹下解决方案二: 解决方案三: 解决方案四:就是你的当前手机饿app有两个登陆过得用户了,一个用户是19,另外一个是46解决方案五:现在我从服务器上拿到群的历史记录,是一个字典数组,有十条历史记录请问我怎么把她包成EMMessage对象,消息有图片,文字,语音等类型,这问题困扰我几天了,大神求救 [{    id = 2675,    filename = ,    status = 1,    msg_id = 88083210

oracle-Oracle如何把远程服务器上的数据拷贝到本地

问题描述 Oracle如何把远程服务器上的数据拷贝到本地 Oracle如何把远程服务器上的数据拷贝到本地,知道IP,SID,库名 解决方案 配置传输,通过dblink连接对端

lotus notes-将服务器上的数据拷到本地之后,数据出现损坏

问题描述 将服务器上的数据拷到本地之后,数据出现损坏 将服务器上的数据连环境一起拷到本地之后跑,但是一些数据库修改一些东西之后数据库 就会损坏,这个是怎么回事? 解决方案 直接整个OS镜像复制.

备份-linux采集远程windows服务器上的数据

问题描述 linux采集远程windows服务器上的数据 问题:公司有上百台windows服务器,我需要在每天将这些服务器上的某些文件备份到一台linux服务器中,如何做最方便?每天的总数据量不超过10g 解决方案 如果文件特别多的话可能时间比较长,如果是大文件的话网速快就行了 解决方案二: window 配置FTP->linux设置计划任务->每天拉

c#怎么读取服务器上的数据

问题描述 在阿里云服务器上创建了一个实例,上面每天都有数据接收,怎么通过c#读取上面的数据,求高人指教代码 解决方案 解决方案二:webservice取数据解决方案三:能说的具体一点吗,最好能有代码解决方案四:这个需要服务器和客户端配合才行.你可以将收到的数据以文本文件的形式存放在iis的目录下,用C#在客户端用WebClient.DownloadString去取.解决方案五:如果你用.net的话,做个wcf.(其实很简单呐)如果嫌技术太难的话,生成好文件用ftp下载下来就可以.或者把数据放到数

用户向Microsoft Azure服务器上传数据将免费

微软周三宣布,从今年7月1日起,用户向Microsoft Azure服务器上传数据将免费,无论是"高峰时段"还是"非高峰时段".微软此举旨在鼓励开发人员将更多数据上传到Azure服务器上,但同时微软Azure应用也将从中获益.很明显,微软希望拓宽Azure云服务的使用范围.尽管Azure总经理道格·豪格尔(Doug Hauger)称,Azure的表现已超出微软预期,但有证据表明,Azure并没有像亚马逊和其他服务商的云服务那样受到开发人员的鼎力支持.需要指出的是,此

WebIM如何上传音频/图片到环信服务器

问题描述 WebIM如何上传音频/图片到环信服务器 求教 解决方案 调用rest接口上传http://docs.easemob.com/doku.p ... ation

c++的问题-这个c++程序在我电脑上不能运行,谁能帮我看看哪出错了

问题描述 这个c++程序在我电脑上不能运行,谁能帮我看看哪出错了 #include#include#includeclass Student{private: int num; char name[10]; int score;public: Student(){}; friend void Daolu(); friend void Liulan(); friend void Chaxun(); friend void Xiugai(); friend void Shanchu(); ~Stud

导入数据-添加exel到数据库出错了

问题描述 添加exel到数据库出错了 需要添加一份EXEL到数据库,然后我可以对这份数据进行筛选,从很多数据里得到更符合的条件,可是我导入数据失败了,,,肿么回事 下面是图,就右键任务,导入数据,然后SQL导入向导 啊啊啊啊啊 解决方案 文字编码的问题,你的数据中有中文,并且拼接过,使用了多种文字编码. 解决方案二: 应该是编码问题,修改编码试试 解决方案三: 应该是编码问题,修改编码试试