第10月第21天 手势识别 开屏广告 Xcode快捷键
1.手势识别
http://yulingtianxia.com/blog/2016/12/29/Multimedia-Edit-Module-Architecture-Design/
2.开屏广告
http://www.jianshu.com/p/d5e42fd92484
3.Xcode快捷键
http://www.jianshu.com/p/2b072b206c90
4.成长之路
http://www.jianshu.com/p/280058ab16f3
5.category
GetSenderProfile得到TIMUserProfile类型,通过category实现IMUserAble
/**
* 获取发送者资料(发送者为自己时可能为空)
*
* @return 发送者资料,nil 表示没有获取资料,目前只有字段:identifier、nickname、faceURL、customInfo
*/
-(TIMUserProfile *) GetSenderProfile;
- (void)onRecvGroup:(TIMMessage *)msg
{
id<IMUserAble> info = [msg GetSenderProfile];
if (!info)
{
info = [msg GetSenderGroupMemberProfile];
}
for(int index = ; index < [msg elemCount]; index++)
{
TIMElem *elem = [msg getElem:index];
if([elem isKindOfClass:[TIMTextElem class]])
{
//消息
TIMTextElem *textElem = (TIMTextElem *)elem;
NSString *msgText = textElem.text;
[self onRecvGroupSender:info textMsg:msgText];
}
else if([elem isKindOfClass:[TIMCustomElem class]])
{
// 自定义消息
[self onRecvGroupSender:info customMsg:(TIMCustomElem *)elem];
}
}
}
@implementation TIMUserProfile (IMUserAble) // 两个用户是否相同,可通过比较imUserId来判断
// 用户IMSDK的identigier
- (NSString *)imUserId
{
return self.identifier;
} // 用户昵称
- (NSString *)imUserName
{
return self.nickname.length > ? self.nickname : self.identifier;
} // 用户头像地址
- (NSString *)imUserIconUrl
{
return [NSString isEmpty:self.faceURL] ? nil : self.faceURL;
} - (BOOL)isEqual:(id)object
{
BOOL isEqual = [super isEqual:object];
if (!isEqual)
{
if ([object conformsToProtocol:@protocol(IMUserAble)])
{
id<IMUserAble> io = (id<IMUserAble>)object;
isEqual = [[self imUserId] isEqualToString:[io imUserId]];
}
}
return isEqual;
}
第10月第21天 手势识别 开屏广告 Xcode快捷键的更多相关文章
- 2016年10月21日 星期五 --出埃及记 Exodus 19:5
2016年10月21日 星期五 --出埃及记 Exodus 19:5 Now if you obey me fully and keep my covenant, then out of all na ...
- Howdoo中文社区AMA总结(10月21日)
10月21日Howdoo举办了中文社区的首次AMA活动,CEO -David Brierley和CMO -Jason Sibley加入到社群中与大家交流并回答社区成员的相关问题. 以下是精选的问题总结 ...
- 【LGR-054】洛谷10月月赛II
[LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...
- 北京Uber优步司机奖励政策(10月26日~11月1日)
用户组:优步北京人民优步A组(适用于10月26日-11月1日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/ ...
- Linux自用指令——2019年10月23日
1.ls ls命令是列出目录内容(List Directory Contents)的意思.运行它就是列出文件夹里的内容,可能是文件也可能是文件夹. ls -a 列出目录所有文件,包含以.开始的隐藏文件 ...
- [C#项目开源] MongoDB 可视化管理工具 (2011年10月-至今)
正文 该项目从2011年10月开始开发,知道现在已经有整整5年了.MongoDB也从一开始的大红大紫到现在趋于平淡. MongoCola这个工具在一开始定位的时候只是一个Windows版本的工具,期间 ...
- 中国式商业智能报表ActiveReports免费公开课,10月20日开讲
ActiveReports公开课全方位报表解决方案,满足商业报表五大需求 [开课时间]10月20日[主讲老师]葡萄城报表产品经理[开课形式]网络在线公开课[活动费用]前50名免费 适合人群:报表开发人 ...
- JavaScript图表FusionCharts免费在线公开课,由印度原厂技术工程师主讲,10月13日发车
FusionCharts公开课达人还你做 轻松晋升图表大师 [开课时间]10月13日 14:30[主讲老师]印度原厂技术工程师[开课形式]网络在线公开课[活动费用]前50名免费 现在就可以报名哦 报 ...
- Linux:Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21...
问题: Vmware安装linux虚拟机,桥接方式配置静态IP后重启网卡,提示:Error,some other host already uses address 10.252.252.21... ...
随机推荐
- 谷歌算法研究员:我为什么钟爱PyTorch?
老铁们好!我是一名前谷歌的算法研究员,处理深度学习相关项目已有三年经验,接下来会在平台上给大家分享一些深度学习,计算机视觉和统计机器学习的心得体会,当然了内推简历一定是收的.这篇文章,不想说太多学术的 ...
- Leetcode题库——49.字母异位词分组【##】
@author: ZZQ @software: PyCharm @file: leetcode49_groupAnagrams.py @time: 2018/11/19 13:18 要求:给定一个字符 ...
- Book Review 《构建之法》
-首先浏览了一遍<构建之法>这本书的前言,其中通过客观的描述性介绍了学生与学习.老师与教学.以及学习的环境.方法等等.但是对于书中前言包括正文都频繁出现的一个词语 “文档” 深表疑问.何为 ...
- 第二次spring冲刺第2天
今天我们开了个小会,关于讨论开始页面的设计及数据输入的格式限制.运算功能等改善
- 四则运算APP最后阶段
四则运算APP最后阶段 [开发环境]:eclipse [开发项目]:小学生四则运算APP [开发人员]:郑胜斌 http://www.cnblogs.com/zsb1/ 孔德颖 http://www. ...
- final-review
小组名称:飞天小女警 项目名称:礼物挑选小工具 小组成员:沈柏杉(组长).程媛媛.杨钰宁.谭力铭 会议时间:12月2号12点 会议内容: 设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是 ...
- PAT 1048 数字加密
https://pintia.cn/problem-sets/994805260223102976/problems/994805276438282240 本题要求实现一种数字加密方法.首先固定一个加 ...
- MyBatis传入多个参数的问题(转)
一.单个参数: public List<XXBean> getXXBeanList(String xxCode); <select id="getXXXBeanList&q ...
- button 和 submit 的区别
表单提交中button和submit的区别submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮, ...
- python 十进制整数转换为任意进制(36以内)
def baseN(num, b): return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0" ...