美文网首页
代码的优雅

代码的优雅

作者: L63C | 来源:发表于2020-08-12 11:34 被阅读0次

    创建线程

    static dispatch_queue_t user_handel_queue(){
        static dispatch_queue_t user_handel_queue_t ;
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            user_handel_queue_t = dispatch_queue_create("user_handel_queue_t", DISPATCH_QUEUE_CONCURRENT);
        });
        return user_handel_queue_t;
    }
    

    判断代理或者协议

    下面的方式,一个标志为只会占用一个二进制,并且不用每次使用代理都去判断是否实现协议那样冗长的代码。很棒吧

    struct {
        unsigned int sendSDPFlag        :1;
        unsigned int sendCandidateFlag  :1;
    }_delegateFlag;
    
    - (void)setDelegate:(id<WebRTCHelperDelegate>)delegate{
        _delegate = delegate;
        _delegateFlag.sendSDPFlag = [delegate respondsToSelector:@selector(needSendSDPToPeer:offer:)];
        _delegateFlag.sendCandidateFlag = [delegate respondsToSelector:@selector(needSendCandidateToPeer:)];
    }
     if(_delegateFlag.sendCandidateFlag){
            [self.delegate needSendCandidateToPeer:candidateStr];
        }
    

    相关文章

      网友评论

          本文标题:代码的优雅

          本文链接:https://www.haomeiwen.com/subject/beupdktx.html