简单地说,数据结构是以某种特定的布局方式存储数据的容器。这种“布局方式”决定了数据结构对于某些操作是高效的,而对于其他操作则是低效的。首先我们需要理解各种数据结构,才能在处理实际问题时选取最合适的数据结构。
iOS多线程中的锁们
线程安全就是多线程访问某个数据时(一般是同时进行写操作),采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。 线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据.下面就介绍一下iOS开发中的锁们.具体Demo请点击
iOS多线程pthread,NSThread,GCD,NSOperation
多线程是开发过程中最常用的场景,今天我们简单介绍一下我们平时接触到的一些实现方式.
iOS事件的传递和响应
我们的App与用户进行交互,基本上是依赖于各种各样的事件。一个视图是一个事件响应者,可以处理点击等事件,而这些事件就是在UIResponder类中定义的.整个过程大致如下:
Core Animation参考资料
核心动画高级技巧
Core Graphics学习之路
Core Graphics是基于C的API,可以用于一切绘图。Quartz 2D是Core Graphics框架的一部分,是一个强大的二维图像绘制引擎。Quartz 2D在UIKit中也有很好的封装和集成,我们日常开发时所用到的UIKit中的组件都是由Core Graphics进行绘制的。不仅如此,当我们引入UIKit框架时系统会自动引入Core Graphics框架,并且为了方便开发者使用在UIKit内部还对一些常用的绘图API进行了封装。 不废话,直接来看利用Core Graphics怎么绘图。
markdown几点使用小技巧
Markdown 是一种轻量级的「标记语言」,目前也被越来越多的写作爱好者、撰稿者广泛使用。请不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单,常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言来说,Markdown 可谓是十分轻量,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。
将视频转换成gif的命令行工具
把在屏幕上的操作录下来,可以使用 OSX 系统自带的 Quicktime,打开以后,在 文件 菜单,选择 新建屏幕录制。
App启动时间
App启动时间,直接影响用户对app的第一体验和判断.如果启动时间过长,不单用户体验会下降, 还有可能会触发苹果的watch dog机制而kill掉App, 所以App启动时间优化也十分重要
DragAndDrop(Swift拖拽操作)
在使用PC进行操作时,你一定遇到过这样的场景,可以将图片直接拖入聊天软件进行发送,可以将文档、音乐、视频文件等文件拖入相应应用程序直接进行使用。这种拖拽操作交互极大的方便了电脑的使用。在iOS11
中,你可以在iPhone
或iPad
上构建这种交互体验!