CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据索引下载依赖的源代码。
对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:
新版的 CocoaP[……]
CocoaPods 是一个 Cocoa 和 Cocoa Touch 框架的依赖管理器,具体原理和 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据索引下载依赖的源代码。
对于旧版的 CocoaPods 可以使用如下方法使用 tuna 的镜像:
新版的 CocoaP[……]
// 定义不可变数组
let array:[String] = ["1", "2", "3", "4"]
print(array)
// 定义可变数组
var mutArray = ["one", "two", "three", "four"]
print(mutArray)
// 修改数组元素值
mutArray[0] = "1";
print(mutArray)
// 根据范围修改元素值
mutArray[1...3] = ["2", "3", "4"]
print(mutArray)
// 增加元素
mutArray += ["five", "six”];
print(mutArray)
[……]
1、C++中多态是一种泛型编程思想,虚函数是实现这个思想的语法基础;
2、虚函数列表简称虚表,出现在对象的头部,即虚表的首地址即对象地址;
3、通过创建好的对象,可以得到虚表,从而通过偏移可获取所有虚函数的地址;
4、示例代码:
5、执行结果:
[……]
1、GCD定时器实现的基础代码
1 2 | dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, ); dispatch_source_set_timer(timer, DISPATCH_TIME[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2018/11/30/1106431446.html">继续阅读</a></p> |
1、NSTimer常用的两种方式:scheduled与使用Runloop addTimer
1 2 | [NSTimer scheduledTimerWithTimeInterval:1.0 repeats:YES block:^(NSTimer * _Nonnull timer) { NSLo[......]<p class="read-more"><a href="https://www.yusian.com/blog/project/2018/11/29/1742151443.html">继续阅读</a></p> |