自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 SVG在iOS中使用总结

SVG简介SVG是一种用XML定义的语言,用来描述二维矢量及矢量/栅格图形。SVG提供了3种类型的图形对象:矢量图形(vectorgraphicshape例如:由直线和曲线组成的路径)、图象(image)、文本(text)。图形对象还可进行分组、添加样式、变换、组合等操作,特征集包括嵌套变换(nestedtransformations)、剪切路径(clippingpaths)、alpha蒙板(...

2019-09-30 18:00:08 2155

原创 Next主题美化

写作目的网上关于Hexo的主题美化的博客已经很多也很全面了,但是在作者去一一尝试的时候,却发现有很多博客中提供的方法现在已经不支持或者过时了,为了避免大家和作者一样花费大量时间去一一尝试,所以作者考虑再三,决定将自己尝试过可靠的方法记录下来,与大家一起学习进步。一、Next主题美化Hexo支持很多主题风格,Hexo博客支持很多主题风格,其中Next主题是Github上Star最多的...

2019-09-16 18:57:20 3669 1

原创 手把手教你使用Hexo搭建github个人博客

一、什么是HexoHexo 是一个快速、简洁且高效的博客框架。Hexo 使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。二、安装1、安装前提安装 Hexo 相当简单。然而在安装前,您必须检查电脑中是否已安装下列应用程序:Node.js(Should be at least nodejs 6.9) Git如果您的电脑中已经安装上述...

2019-09-11 17:28:49 325

原创 强大的调试神器Chisel

什么是ChiselChisel是facebook开源的一个LLDB命令的集合,它里面简化和扩展了LLDB的命令。使用它会更方便的调试我们的程序。如何安装1.更新Homebrew(如果没有安装,可以去Homebrew官网进行查看如何下载)brew update2.通过Homebrew安装chiselbrew install chisel3.创建.lldbinit...

2019-07-29 12:01:08 576

原创 Auto Layout详解

Auto Layout前世今生Auto Layout ,是苹果公司提供的一个基于约束布局,动态计算视图大小和位置的库,并且已经集成到了 Xcode 开发环境里。在引入 Auto Layout 这种自动布局方式之前,iOS 开发都是采用手动布局的方式。而手动布局的方式,原始落后、界面开发维护效率低,对从事过前端开发的人来说更是难以适应。所以,苹果需要提供更好的界面引擎来提升开发者的体验,Au...

2019-07-22 16:25:57 1631

原创 大话for-in、for、for-each、for-of循环

for循环for循环是最基础也是应用最广泛的循环便利方式,具有很好的通用性、和操作性。var data = [1,2,3,4];for (var index = 0; index < data.length; index++) { console.log(myArray[index]);}forEach方法来遍历数组var array1 = ['a', 'b...

2019-06-05 11:21:28 224

原创 RN学习之Flexbox

我们在 React Native 中使用 flexbox 规则来指定某个组件的子元素的布局。Flexbox 可以在不同屏幕尺寸上提供一致的布局结构。一般来说,使用flexDirection、alignItems、justifyContent和flexwrap四个样式属性就已经能满足大多数布局需求。Flex Direction在组件的style中指定flexDirection可以决定布...

2019-04-03 09:09:32 186

原创 React Native安装与环境配置 macOS

安装依赖按照官方的说法,必须安装的依赖有Node、Watchman 和 React Native 命令行工具以及 Xcode。Node, Watchman官方推荐使用Homebrew来安装 Node 和 Watchman。在命令行中执行下列命令安装:安装Homebrew:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubuser...

2019-03-31 16:48:50 643

原创 Swift设计模式

设计模式分类设计模式总体上可以分为三大类,具体如图:设计模式软件设计模式的概念软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍...

2019-03-28 18:50:24 840

原创 轻松愉快的StarUML3.0.2破解之旅

下载下载地址:https://pan.baidu.com/s/1dd7yjhGEB0tvAtiAYd_lUg安装双击打开,拖动到Application,但是不要打开。破解(1)安装Node.js,下载地址:https://nodejs.org/zh-cn/download/(2)安装asarsudonpminstall-gasar(3)进入app.asar...

2019-03-20 18:36:36 489

原创 marquee标签制作跑马灯

marquee标签并不是W3cchool所推荐的标签,但是各大浏览器对这个标签支持性还是非常好,也非常好用,这里就对这个标签进行一下简单介绍。marquee标签常用属性behavior属性设置滚动类型:slide到边界就停止 alternate滚到边界就弹回loop属性设置滚动次数,默认-1,无限滚动scrollamount属性设置滚动的速度,值是正整数,默认为6dire...

2018-12-03 17:40:50 786

原创 使用clang将OC代码转为C++(亲测有效)

最近在研究RunLoop运行机制,想看看他的底层代码是什么样子的,于是百度看看大家如何操作的。最终绝望的发现基本的操作都一样,然并卵。zhangquaniMac:3456 zq$ cd /Users/zq/Desktop/3456/3456 zhangquaniMac:3456 zq$ clang -x objective-c -rewrite-objc -isysroot /Appl...

2018-11-19 10:08:47 1337

转载 深入理解RunLoop

看了ibireme大神写的深入理解RunLoop,感觉写的非常棒,转发出来与大家共同学习进步。RunLoop 是 iOS 和 OSX 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。RunLoop 的概念...

2018-11-01 15:15:31 215

原创 iOS线程锁探究

多线程在我们开发中,被广泛应用,让应用程序的性能得到了很大的提高,但是在一些应用场景却会问题。比如一个电影院中有9张电影票,开设了三个售票窗口,他们同时开始售票,代码如下:#import "ViewController.h"CGFloat totalTicket = 9;@interface ViewController ()@end@implementation ViewCon...

2018-10-31 11:23:13 316 1

原创 一看就懂TCP/IP协议族全析

TCP/IP协议族计算机与网络设备要相互通信,双方就必须基于相同的方法。如何探测到通信目标、由那一边现发起通信、使用哪种语言、使用那种操作系统、怎样结束通信等都需要事先确定。不同的硬件、操作系统之间的相互通信,所有的这一切都需要一种规则。而我们就把这种规则称为协议。而与互联网相关联的协议集合起来总称为TCP/IP协议族。图:TCP/IP是互联网各类协议族的总称TCP/IP的分层管理...

2018-10-11 13:44:19 950 1

原创 CALayer之CAEmitterLayer粒子发射器

先发一下CAEmitterLayer做成的demon效果: likesnow看过GIF图之后大家应该对CAEmitterLayer充满了好奇,这些该如何实现呢,各位莫慌,只要你耐心看下去,实现这些效果都是小 case。CAEmitterLayer与CAEmitterCell简介CAEmitterLayer(粒子发射器)继承自CALayer,是CALayer众多子类中的一个,提供了一个基...

2018-09-29 15:11:02 602

原创 仿射变换-CGAffineTransform

CGAffineTransform是iOS封装的一套用于实现仿射变换效果的API,用于绘制2D图形,可以进行位移、旋转、缩放、叠加等效果,常用方法如下:/** 位移仿射 */init(translationX tx: CGFloat, y ty: CGFloat)translatedBy(x tx: CGFloat, y ty: CGFloat)/** 缩放仿射 */init(sc...

2018-09-26 16:58:57 1397

原创 KVC详解

KVC(钥匙valueCoding)KVC键值编码,是对NSObjcet的扩展,分类名为:的的的NSKeyValueCoding是可以通过对象属性名称(键)直接给属性值(值)进行赋值(编码),是系统提供的一套间接访问对象属性的机制,而不是通过调用设置,获取方法访问。KVC源码探讨man setValue:forKey:Person.h#import &lt;Foundatio...

2018-08-24 17:34:12 1599

原创 观察者模式-KVO详解

志愿不像通知机制那样通过一个通知中心通知所有观察者对象,而是在对象属性变化时通知会被直接发送给观察者对象.KVO机制解析图:KVO(键值观察)KVO(键值观察)是Objective-C对观察者模式(Observer Pattern)的实现。也是Cocoa Binding的基础。可以用于监听某个对象属性值的改变,当被观察对象的某个属性发生更改时,观察者对象会获得通知。KVO(Key-...

2018-08-23 16:55:25 507

原创 观察者模式-通知详解

观察者模式也叫发布/订阅模式,是软件设计模式中的一种。在这种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实现事件处理系统。观察者模式的类图如下:                                                                      ...

2018-08-22 15:31:17 1283

原创 正则表达式

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex,regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索,替换那些符合某个模式(规则)的文本。具体内容可以查看这篇文章。rangeOfString示例代码: NSString *phoneNo = @"霸王别姬,霸王吃鸡,霸王买鸡"; NSString *s...

2018-08-07 17:51:38 479

原创 GCD详解二

dispatch_after第一个参数时指定时间用的dispatch_time_t类型的值。该值用dispatch_time函数或dispatch_walltime函数作成。第二个参数指定要追加处理的Dispatch Queue,第三个参数指定记述要执行处理的Block。dispatch_time第一个参数是从什么时间开始,一般直接传DISPATCH_TIME_NOW,表示从现在开始...

2018-07-27 15:15:38 933

原创 GCD详解一

1个CPU执行的CPU命令列为一条无分叉路经,即为线程。一个物理CPU芯片实际上有64个(64核)CPU,如果一个CPU核虚拟为两个CPU核工作,那么一台计算机上使用多个CPU核就是理所当然的事。尽管如此,一个CPU核执行的CPU命令列仍为一条无分叉路经。这种无分叉路经只有一条,存在多条即为“多线程“。使用多线程的缺点:多线程编程实际上是一种容易发生各种问题的编程技术比如多个线程更新相同的资源...

2018-07-27 10:05:16 5123

原创 iOS 深入理解Blocks

Blocks是C语言的扩充功能。可以用一句话表示Blocks的扩充功能:带有自动变量/局部变量的匿名函数,也被称为闭包。Blocks 本质Block实际上是C语言源码来处理的:通过Block编译器,含有Block语法的源码首先被转换成C语言编译器能处理的源码,再作为普通的C源代码进行编译。使用clang(LLVM编译器)“rewrite-objc”命令可将含有Block的Objecti...

2018-07-20 17:04:22 344 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除