原文链接 RunLoop 什么是RunLoop? A RunLoop object processes input for sources such as mouse and keyboard events from t…
分类:object-c
MVVM
原文链接 M-V-VM 目前客户端最流行的架构应该就是MVVM,然而在看了一些文章之后发现大部分是理论而并没有仔细讲解具体的架构方法和实践,这篇博客说说我在实际工作中的使用。 引言 提到MVVM我们不得不先来认识一下MV…
Internationalization
原文链接 Internationalization 随着项目越来越成熟,逐渐拓展到海外市场,我们就需要适配多种国际化和地区、需要对自己的产品进行国际化,让更多的用户可以使用我们的APP,这就需要对我们的产品进行国际化了。…
Copy一个对象?
原文链接 Copy 拷贝是我们在开发中经常使用的技巧,这里指的不是到Github上去复制粘贴代码,而是对内存中对象的操作 (逃 深拷贝与浅拷贝的区别 ? 深拷贝是指我们拷贝出来的对象拥有自己单独的内存地址,修改新对象不影…
Key-value coding
原文链接 Key-value coding Key-value coding is a mechanism enabled by the NSKeyValueCoding informal protocol that o…
NSCache
NSCache NSCache 基本上就是一个会自动移除对象来释放内存的 NSMutableDictionary。无需响应内存警告或者使用计时器来清除缓存。唯一的不同之处是键对象不会像 NSMutableDictiona…
「 iOS 」CAShapeLayer转场动画
在这个demo中,核心为选用画布CAShapeLayer,因为一般都是用它来处理形状之类的动画,结合了贝塞尔曲线来控制路径,然后使用CABasicAnimation核心动画来产生所有效果。 首先封装一个自定义的动画。 /…
「 iOS 」可拖拽Cell
现在很多项目都会用到类似拖动的效果,比如今日头条和网易新闻之类的资讯类产品,都有用该技术设置模块顺序的操作。 在iOS9.0之后,苹果提供相关的方法,非常方便。 设定三个私有属性 @property(nonatomic,…
iOS 中 block 的使用
概念 代码块block是苹果在iOS4开始引入的对C语言的扩展,用来实现匿名函数的特性,block是一种特殊的数据类型,其可以正常定义变量、作为参数、作为返回值,特殊地,block还可以保存一段代码,在需要的时候调用,目…
iOS 多线程(NNSThread,GCD,NSOperation)
线程基本概念 线程是进程内假想的持有 cpu 使用权的执行单位,一个进程下可以创建多个线程并行执行;使用多线程的程序称为多线程运行,从程序开始执行是运行的程序成为主线程,除此之外之后生成的线程为次线程或子线程。 线程安全…
数据库的常用操作
一、技术起源 数据库操作,不管是服务端、前端、移动端,都或多或少的会涉及到数据的存储、查询、修改。所以作为一名开发者,数据库操作也是开发必备的一项技能。 SQL全称是Structured Query Language,翻…
Cocopods应用及插件
声明: 最后更新时间:2019年3月18日 为保证时效性,持续更新地址为:Cocopods安装和使用 一、安装和使用Cocopods 网上已有很多教程,参考示例:CocoaPods安装教程 二、让自己的组件库支持pod方…