第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;
}
原文地址:https://www.cnblogs.com/javastart/p/7215935.html