zoukankan      html  css  js  c++  java
  • 第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 表示没有获取资料,目前只有字段:identifiernicknamefaceURLcustomInfo

     */

    -(TIMUserProfile *) GetSenderProfile;

     

    - (void)onRecvGroup:(TIMMessage *)msg
    {
        id<IMUserAble> info = [msg GetSenderProfile];
        if (!info)
        {
            info = [msg GetSenderGroupMemberProfile];
        }
        for(int index = 0; 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 > 0 ? 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;
    }
  • 相关阅读:
    绪论-1.1.2机器学习
    Django从 URL获取参数的几种方式
    conda创建虚拟换件安装包时报错“无法定位程序输入点OPENSSL_sk_new_reserve于动态链接库C:Users...libssl-1_1-x64.dll”
    执行python manage.py makemigrations出错
    Linux下conda虚拟环境
    云服务器安装mysql
    2020牛客暑期多校训练营(第五场)
    2020牛客暑期多校训练营(第四场)
    2020牛客暑期多校训练营(第三场)
    All with Pairs
  • 原文地址:https://www.cnblogs.com/javastart/p/7215935.html
Copyright © 2011-2022 走看看