川川的博客

Thinking will not overcome fear but action will.

数据结构>顺序表

顺序表,

介绍 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 // 顺序表的静态存储 #define N 100 typedef int SLDataType; typedef struct SeqList { SLDataType array[N]; // 定长数组 size_t size; // 有效数据的个数 ...

数据结构>时间复杂度

时间复杂度,空间复杂度

介绍 该算法中基本操作的执行次数,为算法时间复杂度。 该算法临时占用的存储空间大小,为算法空间复杂度。

Visual Studio 2022问题无法找到自定义预处理文件

无法找到自定义预处理文件

Visual Studio 2022问题无法找到自定义预处理文件 场景重现:在写快排的非递归中,由于需要用到栈这种结构,于是便将Stack.h和Stack.c文件通过Visual Studio2022的“添加现有项”将文件导入到快排文件下(如下图),然后发现在Sort.h中导入的Stack.h爆红(找不到该文件)。。。 在网上找了很多方法,你们可以试一试下面两种方法,我试了很久还不行,最后...

KVO详解

KVO底层原理及其实现

前言 作为一名iOS开发者,最近面试被问到了KVO的问题。其实KVO的原理以及runtiem的知识,很早之前就有学习和使用了,但是实现的细节都忘记差不多了,故再此重新梳理一下。 正文 NSKeyValueObserving ,一种非正式协议,通知其他对象的指定属性发生了改变。 简单理解就是,监听一个对象的某个属性是否发生改变。 KVO的使用 监听某个对象的某个属性 - ...

ARC 与 MRC 混合使用

MRC 库的处理

Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。 有些时候我们工程中引用了十分古老的库为MRC模式,这时就需要采用混合模式进行处理 如果你的项目使用的 MRC 模式,要为 ARC 模式的代码文件加入 -fobjc-arc 标签。 如果你的项目使用的是 ARC 模式,要为 MRC 代码文件加入 -fno-objc-arc 标签 ...

OC 内存管理的基本概念

OC 内存管理的基本概念以及应用

OC 内存管理的基本概念 ###1. 内存管理的基本概念 栈区 stack 堆区 heap heap(堆)是最自由的一种内存,它完全由程序来负责内存的管理,包括什么时候申请,什么时候释放,而且对它的使用也没有什么大小的限制。在C/C++中,用alloc系统函数和new申请的内存都存在于heap段中。 BSS区 来...

5分钟带你看完 WWDC 2018

WWDC 2018 Keynote 全记录

前言 一年一度的 WWDC(苹果全球开发者大会)于北京时间 6月5日 凌晨1点开幕。废话不多说,来看看这次WWDC 都有哪些亮点吧! iOS 12 和 ARKit 2.0 关键词:官方防沉迷最为致命 iOS 12 iOS 12 相较于 iOS 11 并没有太多UI上的变动,刚更新完 bate 版本的 iOS 12,完全感觉不到这是个新系统。 iOS 12 主要是对安全和性...

Xcode命令行工具管理

如何切换Xcode命令行工具

安装 xcode-select --install Xcode版本切换 显示当前使用的xocde版本 $ xcode-select --print-path 选择Xcode中的默认版本 $ sudo xcode-select -switch /Applications/Xcode.app

柔术最大的谎言「译」

辩证分析柔术中技术与力量

译自 《THE BIGGEST LIE IN JIU JITSU》 最近我看到了一个让我捧腹的柔术笑话。 “柔术的技术是无敌的!” 你可能不想听听下面的内容,但是作为一名柔术教练,我的工作是与你分享我认为的真理,而不是虚假的谎言。所以在这里与你们分享我的见解: 目录 技术不是无敌的 我的见解 一个假设 真实的例子 这个神话是从哪里来的? 好消息...

从一道网易面试题浅谈 Tagged Pointer

浅谈 Tagged Pointer

前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 《从一道网易面试题浅谈OC线程安全》 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题:下面代码会发生什么问题? @property (nonatomic, strong) NSString *target; //.... dispatch_queue_t queue = disp...