-
《大话数据结构》四
第5章 串串(string)是由零个或多个字符组成的有限序列,又名叫字符串。 串的定义 串(string)是由零个或多个字符组成的有限序列,又名叫字符串。 串的比较给定两个串:s= “a1a2……an“, t= “b1b2……bm“, 当满足以下条件之一时,s<t。 n<m,且ai=bi(i=1, 2, ……, n)。 存在某个k<min(m, n), 使得ai=bi(i= …
-
【iOS 开发】优化 iOS 安装包大小
最近优化了一下我负责的两个App ipa 包大小,记录一下优化方法。 App1:优化前:37.8MB 优化后:15.7MB 移除重复图片,多余图片,压缩大的图片,去掉用不到的类。包大小变为35.1MB,减少了2.7MB。 把环信含音视频的 SDK 换成不含音视频的 SDK。包大小变为28MB,减少了7.1MB。 移除 armv7,不再支持 iPhone 4、iPhone 4s。包大小变为20.4 …
-
《大话数据结构》三
第4章 栈与队列栈是限定仅在表尾进行插入和删除操作的线性表。队列是只允许在一端进行插入操作、而在另一端进行删除操作的线性表。 栈的定义 栈(stack)是限定仅在表尾进行插入和删除操作的线性表。 我们把允许插入和删除的一端称为栈顶(top),另一端称为栈底(bottom),不含任何数据元素的栈称为空栈。栈又称为后进先出(Last In First Out)的线性表,简称 LIFO 结构。 栈的插 …
-
【iOS 开发】使用环信实现聊天遇到的一些坑
使用环信实现聊天的过程遇到了一些坑,记录一下避免自己和其他人踩坑或者尽快出坑。 问题1 聊天页面环信工具栏向上偏移问题描述:在聊天页面,点击输入框弹起键盘,点击IQKeyboardManager带的完成按钮或者点击空白页面收起键盘,反复操作多次后,会出现页面向上偏移,环信UI的工具栏移动到了页面最上边。 解决方案:在聊天页面禁用IQKeyboardManager。12345678910111213 …
-
《大话数据结构》二
第3章 线性表线性表:零个或多个数据元素的有限序列。 线性表的定义 线性表(List):零个或多个数据元素的有限序列。 线性表元素的个数 n (n>=0) 定义为线性表的长度,当 n = 0时,称为空表。 线性表的抽象数据类型ADT 线性表(List)Data 线性表的数据对象集合为{a1,a2,……,an},每个元素的类型均为DataType。其中,除第一个元素a1外,每一个元素 …
-
《大话数据结构》一
第1章 数据结构绪论 数据:是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并输入给计算机处理的符号集合。 数据元素: 是组成数据的、有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。 数据项:一个数据元素可以由若干个数据项组成。数据项是数据不可分割的最小单位。 数据对象:是性质相同的数据元素的集合,是数据的子集。 数据结构:是相互之间存在一种或多种特定关系的数据元 …
-
【iOS 开发】iOS 代码规范
原则 长的、描述性的方法和变量命名是好的命名方式。不要使用简写,除非是一些大家都知道的场景比如 VIP。不要使用 bgView,推荐使用 backgroundView。 见名知意。含义清楚,做好不加注释代码自我表述能力强。(前提是代码足够规范) 不要过分追求技巧,降低代码可读性。 删除没必要的代码。比如我们新建一个控制器,里面会有一些不会用到的代码,或者注释起来的代码,如果这些代码不需要,那就删除 …
-
我曾七次鄙视我的灵魂(卡里.纪伯伦)
Seven times have I despised my soul: ——Kahlil Gibran The first time when I saw her being meek that she might attain height. The second time when I saw her limping before the crippled. The third time …
-
Effective Objective-C 2.0(第7章)
编写高质量iOS与OS X代码的52个有效方法第7章 系统框架47.熟悉系统框架将一系列代码封装为动态库(dynamic library),并在其中放入描述其接口的头文件,这样做出来的东西就叫框架。有时为iOS平台构建的第三方框架所使用的是静态库(static library),这是因为iOS应用程序不允许在其中包含动态库。这些东西严格来讲并不是真正的框架,然而也经常视为框架。不过,所有iOS平台 …
-
Effective Objective-C 2.0(第6章)
编写高质量iOS与OS X代码的52个有效方法第6章 块与大中枢派发37.理解“块”这一概念 块是C、C++、Objective-C 中的词法闭包。 块可接受参数,也可返回值。 块可以分配在栈或堆上,也可以是全局的。分配在栈上的块可拷贝到堆里,这样的话,就和标准的 Objective-C 对象一样,具备引用计数了。 38.为常用的块类型创建 typedef 以typedef重新定义块类型,可令块 …