![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS开发
文章平均质量分 90
逻辑教育_Hank
这个作者很懒,什么都没留下…
展开
-
iOS中保证线程安全的几种方式与性能对比
一、前言前段时间看了几个开源项目,发现他们保持线程同步的方式各不相同,有@synchronized、NSLock、dispatch_semaphore、NSCondition、pthread_mutex、OSSpinLock。后来网上查了一下,发现他们的实现机制各不相同,性能也各不一样。不好意思,我们平常使用最多的@synchronized是性能最差的。下面我们先分别介绍每个加锁方式的使用,在使...原创 2018-12-07 13:49:51 · 371 阅读 · 0 评论 -
开源一个仿时光网选票组件
一、项目简介该项目利用UIScrollView的各种滚动事件的监听,仿造时光网选择电影票的UI而开发的一个自定义View。使用简单,可扩展性很强。具备点击每个Item进行选票功能,选票居中功能,滑动时自动选择距离中间最近的View处于选中状态,而且对于滑动时松开手的时候是否有初始速度进行了区分处理。案例演示如下:仿时光网选票UI二、项目讲解1、初始化UIScrollView中每个Item...原创 2018-12-22 16:27:37 · 351 阅读 · 0 评论 -
Runtime详解——iOS开发中的黑魔法
简介Runtime 又叫运行时,是一套底层的 C 语言 API,其为 iOS 内部的核心之一,我们平时编写的 OC 代码,底层都是基于它来实现的。比如:[receiver message];// 底层运行时会被编译器转化为:objc_msgSend(receiver, selector)// 如果其还有参数比如:[receiver message:(id)arg...];// 底层运...原创 2018-12-24 22:53:27 · 453 阅读 · 0 评论