Category 你用分类都做了哪些事情? 声明私有方法 分解体积庞大的类文件 把Framework的私有方法公开 特点 在运行时决议,也就是在编译时并没有把Category中声明的内容添加到宿主类中,而是在运行的时候通过runtime将添加的方法添加到宿主类上面 可以为系统添加分类 分类中可以添加 ...
分类:
编程语言 时间:
2019-09-17 19:25:18
阅读次数:
113
先明确几个概念吧! &3.2 同步与异步 串行与并行针对的是队列,而同步与异步,针对的则是线程。 最大的区别在于,同步线程要阻塞当前线程,必须要等待同步线程中的任务执行完,返回以后,才能继续执行下一任务;而异步线程则是不用等待。 &3.3 GCD API GCD API很多,这里仅介绍本文用到的。 ...
分类:
编程语言 时间:
2019-09-11 15:41:32
阅读次数:
130
RunTime 消息机制 Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一个用 C 和 编译语言 写的 Runtime 库。它是 Objective-C 面向对象和动态机制的基石。 消息机制是运行时里面最重要的机制,OC是动 ...
分类:
Web程序 时间:
2019-09-06 12:42:07
阅读次数:
141
由于项目的需求,需要将c和c++混编,项目采用cmake。 直接上代码: 通过cmake . & make执行编译。 ...
分类:
编程语言 时间:
2019-09-03 09:49:04
阅读次数:
502
OC对象的三种拷贝方式 OC的对象拷贝有如下三种方式,很多时候我们把深复制和完全复制混为一谈,其他他们是有区别的,具体如下: 浅复制(shallow copy):在浅复制操作时,对于被复制对象的每一层都是指针复制。 深复制(one-level-deep copy):在深复制操作时,对于被复制对象,至 ...
分类:
移动开发 时间:
2019-08-27 14:19:07
阅读次数:
129
1.从源头上理解和区别block和delegate delegate运行成本低,block的运行成本高。 block出栈需要将使用的数据从栈内存拷贝到堆内存,当然对象的话就是加计数,使用完或者block置nil后才消除。delegate只是保存了一个对象指针,直接回调,没有额外消耗。就像C的函数指针 ...
分类:
其他好文 时间:
2019-08-26 13:11:46
阅读次数:
102
常听PYTHON易学难精,但是却有很多人徘徊在入门之外。 这是因为很多人出了校门,或者即使在大学,都有所谓的学习障碍:学不进去,看不进去,看过就忘等等 笔者也有这个问题,经常看不进去,看过就忘。经过深入研究脑科学与学习方法,笔者得出一种结论:学习应该将情绪与内容关联,将目标与结果混编。说的通俗点就是 ...
分类:
编程语言 时间:
2019-08-18 16:05:11
阅读次数:
90
一、简介 Swift中的字符串和字符与OC中在表示上并无大的区别,考虑到字符串在平时的开发工作中属于频繁使用的类型,重点需要掌握的内容是String各种操作函数的写法。 二、Swift与OC的区别 三、String与Character的具体介绍 ·关于字符串和字符的概念和联系与OC中保持一致 ·在S ...
分类:
编程语言 时间:
2019-08-10 00:09:04
阅读次数:
161
业余写了个在线绘制几何图形工具,工具链接如下: https://tinygltf.xyz/drawgeometry/ 通过脚本代码在可视化窗口添加对应的点,线段,成像平面推到投影后坐标的计算: 点A通过O点连线投影到红色成像平面,相交于点A' A点坐标为(2,2,-4) OC长度等于相机的near值 ...
分类:
其他好文 时间:
2019-07-31 21:43:54
阅读次数:
262
堆和栈的区别是什么? 首先,讨论的堆和栈指的是内存中的“堆区”和“栈区”,OC语言是C语言的超集,所以先了解C语言的内存模型的内存管理会有很大的帮助。C语言的内存模型分为5个区:栈区、堆区、静态区、常量区、代码区。每个区存储的内容如下: 1、栈区:存放函数的参数值、局部变量等,由编译器自动分配和释放 ...
分类:
其他好文 时间:
2019-07-25 12:11:24
阅读次数:
100