iOS中可以自定义消息吗

问题描述

我可以自定义一个自己的消息然后发送吗?就是在消息外包装一层可以吗?

解决方案

有时候需要在消息中携带一些扩展内容,用来实现特殊需求,比如阅后即焚等。EMMessage提供了ext属性,撰文用来存放扩展内容。ext属性是NSDictionary类型,key和value必须是基本类型,且不能是json。可以这样使用:EMMessage.ext = @{@”key”:@”value”};
解决方案二:
可以,不过包装也是依赖环信的消息类型的。其实最好的方法是加category,然后把你的message封装一下,实际类型放到ext里。

时间: 2024-09-02 23:26:37

iOS中可以自定义消息吗的相关文章

ios-需要在IOS中设置延迟功能

问题描述 需要在IOS中设置延迟功能 需要一个延时器,进行23秒的延迟然后执行函数.应该怎么实现?用不用NSTimer? 解决方案 performSelector: withObject: afterDelay: 解决方案二: 简单点的话,使用performSelector: withObject: afterDelay: 方法 [self performSelector:@selector(delayMethod:) withObject:nil afterDelay:23];

error-请教iOS中CMPedometer的用法

问题描述 请教iOS中CMPedometer的用法 10C #import @implementation FirstViewController (void)viewDidLoad { [super viewDidLoad]; [CMPedometer isStepCountingAvailable]; CMPedometer *pedonmeter = [[CMPedometer alloc] init]; [pedonmeter startPedometerUpdatesFromDate:

IOS中KVC与KVO的应用解析

IOS中KVC与KVO的应用解析 一.NSKeyValueCoding(KVC) 1.从一个小例子引入 KVC键值编码是Object-C为我们提供的一种对成员变量赋值的方法.在探讨其方法之前,我们先来看一个小例子: 首先,创建一个数据模型model类: ? 1 2 3 4 5 6 7 8 //.h文件 #import <Foundation/Foundation.h> @interface Model : NSObject {     @public//将成员变量设置为公有的 以便其他文件有访

IOS中JSON数据的解析

IOS中JSON数据解析 官方为我们提供的解析JSON数据的类是NSJSONSerialization,首先我们先来看下这个类的几个方法: + (BOOL)isValidJSONObject:(id)obj; 判断一个数据对象是否可以转化为JSON数据 + (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error; 将JSON数据写为NSData数据,其中opt参数

iOS中read it later阅读界面隐性导航设计

文章描述:iOS中read it later软件的阅读界面. 移动设备阅读类软件最重要的特性之一就是尽可能的增大阅读面积,为此,就必须尽可能的让屏幕中的导航占到最小,甚至隐藏,手机浏览器也基本属于阅读类软件,最近流行的海豚浏览器甚至将电脑中的"鼠标手势"引入到手机浏览器中. 什么是隐性导航 下图是iOS中read it later软件的阅读界面,除了最上方的状态栏,阅读区域占满了整个屏幕,没有任何诸如"返回"."关闭"的导航按钮,实际这些按钮是隐

iOS中设置应用程序图标和引导画面

一个好的应用程序图标,不仅会给用户留下良好的第一印象,而且可以帮助用 户在茫茫多的桌面图标中,快速发现你的应用程序.本文将介绍如何把已经设计 好的图标以及启动图片添加到我们的应用程序. 大纲 图标的规格及说明: 启动图片规格及说明: 添加素材演练: 设定启动图片显示时间. 一. 图标规格及说明 iOS中图标的名称及规格见下表: 三. 添加素材演练 在以前版本的Xcode中,添加图标和启动图片相对有些麻烦,而且苹果默认给 图标增加了高光效果,但是对于美工来讲,这种高光效果往往达不到预期效果. 在X

IOS中UITabBar的常用设置

UITabBar十分常用,它能实现多个页面的快速切换,而且看起来简单实用. 假设我这有多个 已经初始化好的viewController,然后需要将它们加入到TabBarController中,并把其设置为根视图 NSArray *views = [[NSArray alloc] initWithObjects:test, time, test1, test2, test3, test4, nil]; UITabBarController *tbc = [[UITabBarController a

iOS中SQLite数据库使用详解

使用SQLite数据库 创建数据库 创建数据库过程需要3个步骤: 1.使用sqlite3_open函数打开数据库: 2.使用sqlite3_exec函数执行Create Table语句,创建数据库表: 3.使用sqlite3_close函数释放资源. 这个过程中使用了3个SQLite3函数,它们都是纯C语言函数,通过Objective-C去调用C函数当然不是什么问题,但是也要注意Objective-C数据类型与C数据类型兼容性问题. 下面我们使用SQLite技术实现备忘录案例,与属性列表文件实现

iOS网络编程入门:iOS中的Socket编程

使用Socket进行C/S结构编程,连接过程 服 务器端监听某个端口是否有连接请求.服务器端程序处于堵塞状态,直到客户端向服务器端发出连接请求,服务器端接受请求程序才能向下运行.一旦连接建立起 来,通过Socket可以获得输入输出流对象.借助于输入输出流对象就可以实现与客户端的通讯,最后不要忘记关闭Socket和释放一些资源(包括:关闭 输入输出流). 客户端流程是先指定要通讯的服务器IP地址.端口和采用的传输协议(TCP或UDP),向服务器发出连接请求,服务器有应答请求之后,就会建立连接.之后