说起演绎推理,你第一个想到的肯定是著名的三段论。但是演绎推理,除了三段论之外,其实还有另外三种形式:假言推理,选言推理,关系推理。 这些名词挺起来好像很陌生,但其实一点也不...
说起演绎推理,你第一个想到的肯定是著名的三段论。但是演绎推理,除了三段论之外,其实还有另外三种形式:假言推理,选言推理,关系推理。 这些名词挺起来好像很陌生,但其实一点也不...
assign修饰对象类型会怎样?首先我们需要明确,对象的内存一般被分配到堆上,基本数据类型和oc数据类型一般被分配在栈上。如果用assign修饰对象,当对象释放后(因为不存在...
被weak修饰的对象在被释放时候会置为nil,不同于assign; Runtime维护了一个weak表,用于存储指向某个对象的所有weak指针。weak表其实是一个hash(...
iOS缓存设计(YYCache思路) 前言:前段时间业务有缓存需求,于是结合YYCache和业务需求,做了缓存层(内存&磁盘)+ 网络层的方案尝试由于YYCache 采用了内...
一、为什么使用缓存 缓存的目的是以空间换时间。 出于优化考虑:服务器压力、用户体验、用户流量等; 出于功能考虑:离线存储、微信会话列表、新闻列表等; 重度使用缓存的 APP:...
原文地址我们知道,HTTP请求都是明文传输的,所谓的明文指的是没有经过加密的信息,如果HTTP请求被黑客拦截,并且里面含有银行卡密码等敏感数据的话,会非常危险。为了解决这个问...
GCD中涉及到两个十分重要的概念, 就是任务和队列 任务(Task): 你需要执行的操作 队列(Queue): 存放任务的容器 GCD中两个重要的函数, 一个同步执行, 一个...
最近发现很多开发者对block的理解并不是很深,很多项目当中使用的时候多多少会有些问题,今天给大家详细讲讲block的内存管理, 主要从以下几个方面来讲: 根据内存划分blo...
iOS autoreleasepool 原理 arr 是再什么时机释放? @AutoreleasePool{代码} 会被编译器改写为 源码 一次 pop 相当于一次批量的p...