- 博客(57)
- 资源 (19)
- 问答 (1)
- 收藏
- 关注
原创 Swift使用规范
一. 格式规范1.1 使用4个空格进行缩进推荐if value == 1 { print("")}1.2 二元运算符(+, ==, 或->)的前后都需要添加空格推荐let value = 1 + 2 if value == 1 { /* ... */} func test(w...
2019-07-24 10:11:02 688
原创 zlib-Deflate压缩算法
写在前边最近在做一些关于网络优化的一些事情,涉及到对纯数据(Data、字符串、Json等)进行压缩,用到了Deflate压缩算法,这里就简单说一下如何用OC实现 Deflate先看代码 (后面会给出详细解析)Deflate.h//// Deflate.h// CompressionTest#import <Foundation/Foundation.h>NS_...
2019-05-31 18:26:48 14198 5
原创 Swift(09)- 元组
概述元组是Swift编程语言中唯一的一种复合类型。它可以将指定有限个数的任何类型依次整理为一个对象。一个元组类型的形式为:(type1, type2, type3, … , typen)。元组中的每一种类型都可以是任意的结构体、枚举或类类型,甚至也可以是一个元组以及空元组。元组中的每个元素我们也称之为一个分量(component)。我们下面先举两个简单的例子:enum MyEnum { ...
2019-05-08 17:57:46 757
原创 Swift - iOS大转盘抽奖实现原理
今天给大家讲一个iOS抽奖的转盘实现,其实,现在这种需求,一般都是由H5来实现,也可能原生的体验会更好一些,反正项目要求,我们非(ji)常(bu)开(qing)心(yuan)地用iOS原生来实现。UI实现原理效果展示我们来看一下效果图:图层分布:1–> rotateView2–> AwardView通过图层示例我们可以清楚地看到,每一个奖项对应一个AwardVi...
2019-04-10 16:47:10 2685
原创 CABasicAnimation的使用
CABasicAnimation1. 什么是CABasicAnimationCABasicAnimation是核心动画类簇中的一个类,其父类是CAPropertyAnimation,其子类是CASpringAnimation,它的祖父是CAAnimation。它主要用于制作比较单一的动画,例如,平移、缩放、旋转、颜色渐变、边框的值的变化等,也就是将layer的某个属性值从一个值到另一个值的...
2019-04-10 16:41:02 1450 1
原创 Swift - UILabel部分字体变颜色
最近接了一个需求,就是需要把“今日奖金50万” 的数字加粗,变为“今日奖金**50**万”因为不想搞成两个label进行拼接,所以写了一个小demo**主要思路:** - 富文本改变某个文字的字体颜色 - 使用正则表达式筛选出数字
2019-04-03 18:14:11 3507
转载 支付宝架构解析:iOS 客户端启动性能优化初探
一、前言《支付宝客户端架构解析》系列将从支付宝客户端的架构设计方案入手,细分拆解客户端在“容器化框架设计”、“网络优化”、“性能启动优化”、“自动化日志收集”、“RPC 组件设计”、“移动应用监控、诊断、定位”等具体实现,带领大家进一步了解支付宝在客户端架构上的迭代与优化历程。启动应用是用户使用任何一款应用最必不可少的操作,从点击 App 图标到首页展示,整个启动过程的性能,严重影响着用户的体...
2018-11-16 16:11:20 1559
原创 排序算法(03)— 希尔排序
一、概述希尔排序(Shell Sort) 是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是 直接插入排序 算法的一种更高效的改进版本。希尔排序是 非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。在这之前的排序算法的时间复杂度基本都是O(n2),希尔排序是算法是突破这个时间复杂度的第一批算法之一。二、基本思想我们之前讲过 直接...
2018-11-15 17:33:09 1942
原创 排序算法(01)— 三种简单排序(冒泡、插入、选择)
一、概述排序是数据处理中十分常见且核心的操作,虽说实际项目开发中很小几率会需要我们手动实现,毕竟每种语言的类库中都有n多种关于排序算法的实现。但是了解这些精妙的思想对我们还是大有裨益的。1.1 排序的基本概念和分类假设含有n个记录的序列为{r1,r2,…,rn},其相应的关键字分别为{k1,k2,…,kn},需确定1,2,。。。。,n的一种排列p1,p2,…,pn,使其相应的关键字满足kp1...
2018-11-15 12:20:56 2520 1
原创 排序算法(02)— 快速排序算法
快速排序算法一、概述快速排序(Quick Sort)是由东尼·霍尔(Tony Hoare)所发展的一种排序算法。他在形式化方法理论以及ALGOL60编程语言的发明中都有卓越的贡献。二、算法思想2.1 基本思想快速排序的基本思想是:通过一趟排序,将待排记录分隔成独立的两部分,其中一部分的记录的关键字总是比另一部分记录的关键字小,则可以分别对这两部分记录继续进行排序,直到整个序列有序。
2018-11-09 17:49:35 1934
原创 Swift 4.2 新特性(译)
Swift 4.2 新特性(译) 一、概述二、准备三、语言演进3.1 随机数生成3.2 动态成员查找3.3 枚举实例集合3.4 新的序列方法3.5 检测序列元素3.6 条件遵守更新3.7 Hashable 增强3.8 集合中移除元素3.9 更改布尔值3.10 新的编译器指令3.11 新的指针函数3.13 模块中的内联函数四、其他更新4.1 Swift Package Manager 更新4.2 移...
2018-11-09 14:20:00 2520
原创 Swift(08)- 函数
Swift函数Swift 函数用来完成特定任务的独立的代码块。Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的Objective-C语言风格的方法。函数声明: 告诉编译器函数的名字,返回类型及参数。 函数定义: 提供了函数的实体。函数的介绍函数相当于OC中的方法 函数的格式如下func 函数名(参数列表) -> 返回值类型 { 代码块 ...
2018-03-15 16:07:55 224
原创 Swift(07)- 字典
字典字典的介绍字典允许按照某个键来访问元素 字典是由两部分集合构成的,一个是键(key)集合,一个是值(value)集合 键集合是不能有重复元素的,而值集合是可以重复的,键和值是成对出现的 Swift中的字典 Swift字典类型是Dictionary,也是一个泛型集合 字典的初始化Swift中的可变和不可变字典 使用let修饰的数组是不可变字典 使用var修饰的数组是...
2018-03-14 15:31:01 163
原创 Swift(06)- 数组
数组数组的介绍数组(Array)是一串有序的由相同类型元素构成的集合 数组中的集合元素是有序的,可以重复出现 Swift中的数组 swift数组类型是Array,是一个泛型集合 数组的初始化数组分成:可变数组和不可变数组 使用let修饰的数组是不可变数组 使用var修饰的数组是可变数组 // 定义一个可变数组,必须初始化才能使用var array1 : [Str...
2018-03-14 15:28:15 222
原创 Swift(05)- 字符串
字符串的介绍字符串在任何的开发中使用都是非常频繁的 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" 使用String的原因 String是一个结构体,性能更高 NSString是一个OC对象,性能略差 String支持直接遍历 Swift提供了...
2018-03-13 19:29:10 186
原创 Swift(04)- 循环
循环的介绍在开发中经常会需要循环 常见的循环有:for/while/do while. 这里我们只介绍for/while,因为for/while最常见for循环的写法最常规写法// 传统写法for var i = 0; i < 10; i++ { print(i)}区间for循环for i in 0..<10 { print(i)}...
2018-03-13 17:06:25 449
原创 Swift(03)- 逻辑分支
一. 分支的介绍分支即if/switch/三目运算符等判断语句 通过分支语句可以控制程序的执行流程二. if分支语句和OC中if语句有一定的区别 判断句可以不加() 在Swift的判断句中必须有明确的真假 不再有非0即真 必须有明确的Bool值 Bool有两个取值:false/true // 演练一:let a = 10// 错误写法://if...
2018-03-13 16:05:30 210
原创 Swift(02)- Swift中数据类型
Swift类型的介绍Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等 先了解整型和浮点型 整型 有符号 Int8 : 有符号8位整型 Int16 : 有符号16位整型 Int32 : 有符号32位整型 Int64 : 有符号64位整型 Int : 和平台相关(默认,相当于OC的NSInteger) 无符号 UInt8 : 无符号...
2018-03-13 15:10:55 194
原创 Swift(01)— 常量&变量
什么是常量和变量在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量 使用let来定义常量,定义之后不可以修改 使用var来定义变量,定义之后可以修改常量和变量的基本使用import UIKitlet a : Int = 10// 错误写法,当一个字段定义为常量时是不可以修改的// a = 20var b : Int = 20// 因为b定义为...
2018-03-13 15:06:04 176
原创 duplicate symbol SDK中重复引用公共变量的错误
今天在项目里拖进了一个第三方SDK的源码,项目编译时fail,错误信息是duplicate symbols for architecture arm64。最后终于找到问题,需要修改Build Settings里的No Common Blocks为NO。No Common Blocks的Quick Help信息如下:GCC_NO_COMMON_BLOCKS In C, allocate
2016-09-06 18:06:45 984
原创 dyld: Symbol not found: ___NSArray0__
错误描述:dyld: Symbolnot found: ___NSArray0__ Referenced from: /private/var/mobile/Containers/Bundle/Application/5C6F5D69-5D14-4C07-BEA4-F410C18C66CC/DGBao.app/DGBao Expected in: /System/Library
2016-08-16 13:28:49 2601
原创 iOS开发UI进阶篇 — 原生二维码、条形码扫描
提到二维码条形码开发,我们就不得不提两大开源组件 ZBar 与 ZXing,如果搞过二维码开发的一定对着俩货不陌生,下面我们来总结一下优缺点:ZBarZBar在扫描的灵敏度上,和内存的使用上相对于ZXing上都是较优的,但是对于 “圆角二维码” 的扫描确很困难。http://rdcworld-iphone.blogspot.in/2013/03/how-to-use-barcode...
2016-04-09 13:51:21 2376
原创 iOS开发技巧--Git的使用
Git介绍1. 集中式2. 分布式SSH密钥生成存在 https或 ssh 协议https://git.oschina.net/ericbluce/hcxy112.gitgit@git.oschina.net:ericbluce/hcxy112.git官方网站https://git.oschina.net/开源中国社区成立于2008年8月,其目的...
2016-04-07 00:12:41 2855
转载 Objective-C之run loop详解
Objective-C之run loop详解做了一年多的IOS开发,对IOS和Objective-C深层次的了解还十分有限,大多还停留在会用API的级别,这是件挺可悲的事情。想学好一门语言还是需要深层次的了解它,这样才能在使用的时候得心应手,出现各种怪异的问题时不至于不知所措。废话少说,进入今天的正题。不知道大家有没有想过这个问题,一个应用开始运行以后放在那里,如果不对它进行任
2016-03-15 14:01:23 687
原创 iOS沙盒目录清单
一、 Documents 用于存储用户生成的文件、其他数据及其他程序不能重新创建的文件,默认文件通过iCloud自动备份。如果不需要iCloud备份,则设置标记 NSURLIsExcludedFromBackupKey,注明不备份 1.1 读取Documents目录代码 NSArray *paths = NSSearchPathForDirectorie
2016-03-06 19:48:10 484
原创 iOS网络基础(1) — TCP、UDP、URL和HTTP
一、URL【概念】NSURL URL:Uniform Resource Locator统一资源定位符 是资源在网路上的地址,位置,每个资源都有一个唯一的URL【例子】 百度 http://www.baidu.com/ 爱限免 http://iappfree.candou.com:8080/free/applications/limited?c...
2016-03-06 19:38:45 1227
原创 iOS开发UI进阶篇 — 基于手势识别的侧滑展开菜单栏
今天给大家详细介绍一下IOS手势的用法,最后给大家分享一点干货,《基于手势识别的侧滑展开菜单栏》,这个功能在开发中会经常用到,是非常重要的。一、UIGestureRecognizer介绍手势在ios经常用到,可以说是非常重要的存在,在之前,大部分都是通过touch方法来进行手势的判定,但是在ios系统3.2之后,添加了UIGestureRecongnizer抽象类,抽象出了几个子类UITapGes...
2016-02-28 20:33:30 3738
原创 IOS开发UI进阶篇 — 广告轮播器
最近几天比较忙,所以更新慢了一点,UI基础空间就不跟大家讲了。如果作为初学者想要很好地运用一门语言的话,我个人有几点建议不要去看太多的书,太多的书只会让你无所适从不要把一本书从头翻到尾的那样一个控件一个控件的去学,那样很慢,也很吃力,应该从一个比较综合或者实用的实力入手不要眼高手低(这点真的很重要)今天给大家创建一个比较常用的广告轮播器,先来看一下效果关于UIscr
2016-02-27 20:48:37 685
原创 IOS开发基础Object-C( 15)-- block的使用方法
今天来给大家简单讲解一下block的用法,在讲解block之前,我们先来理解一下闭包的概念1.闭包的概念我们先来看一下脚本语言的闭包function funA(callback){ alert(callback());}function funB(){ var str = "Hello World"; // 函数funB的局部变量,函数funA的非局部变量
2016-01-16 10:03:08 793
原创 OC算法 输出手机号码归属地
输出手机号码归属地 *1.读取文件中的数据文件如下:5582|1860101|010|北京市|北京联通GSM卡5583|1860100|010|北京市|北京联通GSM卡5584|1368141|010|北京市|北京移动神州行卡5585|1860111|010|北京市|北京联通GSM卡5586|1358198|010|北京市|北京移动动感地带卡5587|13611
2016-01-06 18:17:14 2281
转载 OC各种类型之间转化的方法
NSNumber转NSString:假设现有一NSNumber的变量A,要转换成NSString类型的B方法如下:NSNumberFormatter* numberFormatter = [[NSNumberFormatteralloc] init];B = [numberFormatter stringFromNumber:A];[numberForm
2016-01-06 11:05:35 846
原创 IOS开发基础Object-C( 14)-- 字符串的使用方法
今天来给大家介绍一下 Foundation 框架关于字符串的使用方法,方法比较多,功能介绍我都写在代码里了。好了不多说了,上代码我们来建立一个新的类StringTest我们来声明一下StringTest.h#import <Foundation/Foundation.h>@interface StringTest : NSObject+ (void...
2016-01-04 21:14:05 1408
原创 IOS开发基础Object-C(13)—— protocol协议
今天,来给大家讲解一下OC中@protocol的用法,什么是protocol呢?从字面的意思上来说是协议的意思,那么到底什么是协议呢?那我们来普及一下协议的概念。协议的概念(1)协议相当于没有与类相关联的接口,他申明一组方法,列出他的参数和返回值,共享给其他类使用,然后不进行实现,让用它的类来实现这些方法(2)在任何一个类中,只有声明了协议,都可以实现协议里的方法。(3)协议不是一
2016-01-03 16:06:53 936 4
原创 IOS开发基础Object-C(12)—单例模式
单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。1.单例模式的要点: 显然单例模式的要点有三个;一是某个类只能有一个实例;二是它必须自行创建这个实例;三是它必须自行向整个系统提供这个实例。2.单例模式的优点: 1.实例控制:Singleton 会阻止其他对象实例化其自己的 Singleton 对象的副本
2015-12-30 22:11:31 2153 3
原创 数据结构(1)—— 排序算法汇总
最近很多同学问我关于排序算法的问题,像冒泡排序,选择排序。学过数据结构的还好说,对于没有接触过数据结构的同学来说内心基本是属于崩溃的。下面我就来总结一下数据结构中的八大排序算法。概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说的八大排序就是内部排序 排序相关的概念排序(按关键字大小顺序排
2015-12-17 23:10:25 1564
原创 IOS开发基础Object-C(11)—Category语法
谢天谢地,糟心的内存管理终于讲完了,我们的OC内存管理也就先告一段落了,以后还是需要多联系多理解,记住,理解最重要。今天呢,我们再来讲一个很重要的语法——Category,根据字面的意思呢就是种类分类。这是一个OC特有的语法,在Java中是没有的,而且在项目中经常被用到。我查了很多的资料,发现Category并没有一个很明确的定义,如果要给他一个定义的话,我觉得称它为扩展类比较合适,为
2015-11-28 17:14:18 2399 1
原创 IOS开发基础Object-C(10)—OC内存管理(4)-autorelease使用
最想必大家近也是被内存管理整的焦头烂额,大家也就再痛苦这么一下,今天的autorelease已经是内存管理的最后一章了,今天的内容完成我们的内存管理也就先告一段落了。希望大家一定要理解内存管理,因为内存管理在OC中的地位可以说相当于C语言中的指针。虽然现在引进了ARC机制,但是大家也要理解内存管理的过程和原理,否则到时动不动来个内存泄露,而且还找不到错误所在,那感觉.....真(ri)是(le)爽
2015-11-27 11:21:22 3016
原创 HTML5与微信开发(2)-视频播放事件及API属性
HTML5 的视频播放事件想必大家已经期待很久了吧,在HTML4.1、4.0之前我们如果在网页上播放视频无外乎两种方法: 第一种:安装FLASH插件或者微软发布的插件 第二种:在本地安装播放器,在线播放组件之类的 因为并不是所有的浏览器都安装了FLASH插件,就算安装也不一定所有的都能安装成功。像苹果系统就是默认禁用FLASH的,安卓虽然一开始的时候支持FLASH,但是在安卓4.0以后也开始不
2015-11-26 11:59:05 8677
原创 HTML5与微信开发(1)-HTML标签语法变化和使用概念
什么是HTML5HTML5 是下一代 HTML 标准。 HTML , HTML 4.01的上一个版本诞生于 1999 年。自从那以后,Web 世界已经经历了巨变。 HTML5 仍处于完善之中。然而,大部分现代浏览器已经具备了某些 HTML5 支持。HTML5是如何发展的HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Te
2015-11-25 15:00:59 3936 2
原创 IOS开发基础Object-C(09)—OC内存管理(3)-@property的参数详解
在 IOS开发基础Object-C(06)—@property 和@synthesize语法中我们已经大体了解了@property的参数,今天我们就来详细解释一下@property关于内存管理的用法。首先,我们来新建两个类,Book和Student类Student.h#import #import "Book.h"@interface Student :NSObject
2015-11-23 19:35:48 1938
Web性能权威指南(高清版).pdf
2019-03-07
SQL语句教程(完本高清PDF)
2019-01-10
水果忍者HTML5+JS源码
2018-12-27
《HTML5从入门到精通》中文学习教程.pdf
2018-12-27
代码之美(中文完整版).pdf
2018-11-14
Android编程权威指南
2018-03-13
设计模式之禅2.pdf
2018-03-13
求一个数组中选出任意个数元素相加之和,求大神指教
2015-12-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人