CocoaPods 使用:创建私有 pod 库
使用场景 有些项目或公司内,不希望把一些核心的公用代码开源,但是这些代码基本很稳定很成熟,可以做成组件给到其他人或者组内使用。就可以使用 Cocoapods 来创建自己的私有仓库,让大家共享代码,也是组件化的一种方案。 由于现实原因,国内访问 Github 和 CocoaPods 网站比较蛋疼,这里就用国内的 gitee 来做自私有库,效果和放在 Github 上一样,速度还快。如果放在...
使用场景 有些项目或公司内,不希望把一些核心的公用代码开源,但是这些代码基本很稳定很成熟,可以做成组件给到其他人或者组内使用。就可以使用 Cocoapods 来创建自己的私有仓库,让大家共享代码,也是组件化的一种方案。 由于现实原因,国内访问 Github 和 CocoaPods 网站比较蛋疼,这里就用国内的 gitee 来做自私有库,效果和放在 Github 上一样,速度还快。如果放在...
准备工作 在创建公开的 pod 库之前,请确保已经有了 github 账号。此篇文章介绍如何将代码开源并放到 pod 库中,供别人使用,这种方式属于打造公共(Public repo)仓库,任何人都可以搜索到你的库并使用。 创建 Repository 并完善项目 在 Github 上创建一个 Repository,名为 SSSYPerson。 将该代码仓库 clone 到本地。...
使用 CocoaPods 管理代码的必要性 项目到了一定规模, 代码组织和结构显得尤为重要。 重构项目结构,可以从分离代码开始。代码分离,可以按功能划分,把常用、稳定且和业务无关的代码封装成组件,抽离出来。 分离代码, 常用的有几种方式: 放到不同的文件夹, 管理和组织代码。(源码可见) 打包成静态库 .a 或者 .framework 提供给项目使用。(只能调 API,看不到...
要求 无论有没有网络连接,每一台设备都能够访问完整的数据集。 网络可能连接不稳定,数据同步时发起的请求数量要尽可能少。 数据更改必须基于最新的数据,任何人都不应该在不知晓其他人修改的情况下覆盖那些改动。 iCloud 和 Core Data 数据迁移 添加数据前尽量考虑完全 在处理任何数据持久性问题时最重要的事情之一就是先仔细思考你的模型,在最开始...
TCP/IP 互联网协议族,人们通常用 TCP/IP 来泛指整个互联网协议族,而不是单指这两种协议。中文 / 英文 IP IP 是网际协议 (Internet Protocol) 的缩写。中文 / 英文 TCP TCP 是传输控制协议 (Transmission Control Protocol) 的缩写,TCP 是基于 IP 层的协议。建立起一个TCP连接需要经过“三次握手”:...
NSMutableAttributedString 的使用 唯一蛋疼的是无法实现监听文本中链接、话题等的点击事件 如果要实现监听链接、话题等的点击事件,可以使用 YYText 框架,或直接使用 YYKit @interface ViewController () @property (nonatomic, strong) UILabel *textLabel; @end...
macOS上测试远程推送的工具 空指针 和 野指针 空指针:不指向任何内存地址的指针,给空指针发任何消息不会任何问题,相当于 [nil xxx]; 野指针:指向一块被释放调的内存的指针,给野指针发消息会报异常,处理方法是将野指针置空:p = nil; static 和 extern 的总结 static 修饰全局变量时,全局变量只能在定义该全局变量的文...
起底多线程同步锁(iOS) 不再安全的 OSSpinLock 探讨iOS开发中各种锁 iOS 开发中的八种锁 注意 除非开发者能保证访问锁的线程全部都处于同一优先级,否则 iOS 系统中所有类型的自旋锁都别再用。 iOS 加锁的几种方式 1、synchronized // 性能最差,敲以下代码时 Xcode 没有提示,是否可以理解为 Apple 不建议...
使用 GCD 的时候如何让线程同步,也有多种方法 dispatch_group dispatch_barrier dispatch_semaphore 快速迭代方法:dispatch_apply // 阻塞当前线程,多次执行 block 代码块,类似快速遍历的 for 循环,index 无序。 // 只有结合并行队列时才有意义,如果同步队列就体现不出多线程的性能优势...
特点 简单易用,可以直接操作线程对象 一个 NSThread 对象就是一个线程 线程的生命周期需要程序员手动管理 线程在执行完任务后就会退出并销毁 NSThread 简单使用 先创建线程,再启动线程 - (void)useNSThread { // 1. 创建线程 NSThread *thread = [[NSThread alloc] ...