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;
    }
  • 相关阅读:
    Appium之启动第一个App
    Appium简介
    C语言-malloc,calloc,realloc 函数的使用(堆空间的使用)
    C语言-const 修饰符,static 和 extern修饰符
    C语言-字符串与指针,fgets 函数,fputs 函数
    C语言- 指针(初始化,作用,指针与整数的加减法,指针与指针的减法,指针与指针之间的比较,指针与数组,函数的关系,中括号的本质)
    C语言-字符串
    C语言-数组
    C语言-类型说明符 long,short,unsigned,signed
    C语言-char 类型基本概念
  • 原文地址:https://www.cnblogs.com/javastart/p/7215935.html
Copyright © 2011-2022 走看看