-
【Flutter 开发】Flutter笔记之环境配置
Flutter笔记之环境配置 Android Studio 下载地址:https://developer.android.google.cn/studioFlutter SDK 下载地址:https://flutter.dev/docs/get-started/install/macos 配置Flutter SDK添加用户环境变量打开终端,输入vim ~/.bash_profile,回车,编辑/. …
-
【Flutter 开发】Dart笔记
Flutter之Dart笔记 1. 入口方法、变量、常量1.1 入口方法main方法123void main() {} 1.2 常量变量 var 变量 const 常量 final 常量 const 与 final区别final 可以开始不赋值,只能赋值一次;而final不仅有const的编译时常量的特性,最重要的它是运行时常量,并且final是惰性初始化,即在运行时第一次使 …
-
《大话数据结构》五
第6章 树树(Tree)是 n(n≥0)个结点的有限集。n=0 时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当 n>1 时,其余结点可分为 m(m>0)个互不相交的有限集 T1、T2、……、Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 树的定义 树(Tree)是 n(n≥0)个结点的有限集。n=0 时称为空树。在任 …
-
《大话数据结构》四
第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。 见名知意。含义清楚,做好不加注释代码自我表述能力强。(前提是代码足够规范) 不要过分追求技巧,降低代码可读性。 删除没必要的代码。比如我们新建一个控制器,里面会有一些不会用到的代码,或者注释起来的代码,如果这些代码不需要,那就删除 …