离久的小站

离久的小站

搬砖的iOS码农

创建CocoaPods私有库
在网上看过不少关于创建私有库的博客,但大多都是互相抄袭,而且坑非常的多。最近因公司要求,要做一个公司的Pod仓库,所以有了一点点心得。 例子中用到git命令行,如果有小白不知道git命令行怎么使用,请先百度git的使用。 以下我会用github的为例子进行讲解。由于github的私人仓库要付费,这里我选择public。如果你是coding、码云等,你可以选择private,毕竟是私有库嘛。 首先我们先在自己的github上创建一个我们的Pod仓库。仓库名字为MyPod。 接下来我们在终端执行: 1pod repo add MyPod https://github.com/AshBass...
使用Bundle命令来兼容Cocoapods
使用Bundle命令来兼容Cocoapods安装 Bundler && 创建 Gemfile1gem install bundler 若需要权限则使用 sudo 1sudo gem install bundler GemfileGemfile是我们创建的一个用于描述gem之间依赖的文件。gem是一堆Ruby代码的集合,它能够为我们提供调用。你的Gemfile必须放在项目的根目录下面, 这是Bundler的要求,对于任何的其他形式的包管理文件来说,这也是标准。这里值得注意的一点是Gemfile会被作为Ruby代码来执行。当在Bundler上下文环境中被执行的时能使我们访问一...
简述Runtime
简介Objective-C 是一门动态语言,它会将一些工作放在代码运行时才处理而并非编译时。也就是说,有很多类和成员变量在我们编译的时是不知道的,而在运行时,我们所编写的代码会转换成完整的确定的代码运行。 因此,编译器是不够的,我们还需要一个运行时系统(Runtime system)来处理编译后的代码。 Runtime 基本是用 C 和汇编写的,由此可见苹果为了动态系统的高效而做出的努力。苹果和 GNU 各自维护一个开源的 Runtime 版本,这两个版本之间都在努力保持一致。 点击这里可以下载苹果维护的开源代码。 id 和 Class 的定义idid 是一个参数类型,它是指向某个类的实...
简述RunLoop
相关知识RunLoop 是一个对象,这个对象在循环中用来处理程序运行过程中出现的各种事件(比如说触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件处理的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。 简单描述 RunLoop 的结构: RunLoop 与 线程 的关系线程和 RunLoop 之间是一一对应的,其关系是保存在一个全局的 Dictionary 里。线程刚创建时并没有 RunLoop,如果你不主动获取,那它一直都不会有。RunLoop 的创建是发生在第一次获取时,RunLoop 的销毁是发生在线程结束时。你只能在一个线...
iOS多线程GCD
iOS多线程 —— GCD官方[开源代码](http://libdispatch.macosforge.org) 前言线程 、任务 、队列 线程 程序执行任务的最小调度单位 任务 你所要做的事情 ,说白了就是你的代码 队列 用来存放任务的数组 串行 、并行 、并发 串行 串行程序中,程序会按照顺序执行每一条指令,在整个程序运行过程中,仅存在一个运行上下文。(即一个调用栈,一个堆) 并发 并发指的是,程序在运行中存在多个运行上下文,对应不同的调用栈。 并行 在只有一个处理器的机器上,并发程序虽然有多个运行上下文,但某一个时刻只有一个任务在运行。在多处理器上,则可以有多个。同一时刻...
离久
一条咸鱼
FRIENDS