自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小马哥好棒哦

开发过程中总结的一些东西分享给大家,共同进步~

  • 博客(9)
  • 资源 (1)
  • 收藏
  • 关注

原创 Block的总结

总结block的本质就是Objective-C对象,block的调用就是函数指针的调用。block的本质是一个封装了函数调用以及函数调用环境的OC对象; block截获自动变量值的规则: 局部变量会被直接截获; 局部静态变量会被截获其指针; 全局变量并不会被截获,而是直接使用; block截获对象的规则: block位于栈上,则不会对截获的对象变量进行强引用; block从栈上复制到堆上,调用copy函数,对截获的变量进行强/弱引用; block从堆上移除,调用dispo

2021-03-18 20:31:58 151

原创 iOS的事件分发与响应者链

首先要先学习下响应者对象UIResponder,只有继承UIResponder的的类,才能处理事件。NS_CLASS_AVAILABLE_IOS(2_0) @interface UIApplication : UIResponderNS_CLASS_AVAILABLE_IOS(2_0) @interface UIView : UIResponder <NSCoding, UIAppearance, UIAppearanceContainer, UIDynamicItem, UITraitEn

2021-03-15 22:05:42 258

原创 OC中数组的valueForKeyPath函数应用

- (nullable id)valueForKeyPath:(NSString *)keyPath;1. 数组求和如果一个数组是由NSNumber或者数字的字符串组成的,可以直接进行进行求和:NSArray *array = @[@13, @23, @89, @3, @4, @46, @"2"];CGFloat sum1 = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];NSLog(@"%f", sum1); /..

2021-03-15 21:51:38 510

原创 iOS性能优化的几个方向

一、界面优化1、卡顿原理要了解卡顿原理,需要对帧缓冲区、垂直同步、CPU 和 GPU 几个词进行一下了解,然后综合起来,就可以得到卡顿的答案。1.1、帧缓冲区听起来很高大上,其实就是用来存放每一帧画面数据的一个 “仓库”,一个仓库只存放一帧画面的数据,iOS 一直是双缓存,就是有两个仓库,存当前帧数据的叫 “正式仓库”,存下一帧数据的叫 “预备仓库”。当正式仓库的数据被取走后,两者身份交换,原来的预备仓库转正为正式仓库,原来的正式仓库变成预备仓库。1.2、垂直同步 (VSync)

2021-03-15 21:46:03 1074

原创 锚点和position的关系

1.position定义:某一个视图的layer的position表示,该视图的layer的锚点在父视图的layer中的位置,默认的数值是视图layer的中点的数值。从上面的定义的第二句来看,position表示的是在父视图中的位置!2. anchorPoint定义:锚点,就像船锚一样,起着固定的作用,有风浪时,船会围着船锚旋转;锚点也是这样的,说白了就是固定视图用的点,每当我们给视图添加一个旋转动画时,就是围绕该点进行旋转的。3. 记住一点:position 和 锚点 必须是...

2021-03-07 11:34:06 420

原创 CALayer的modellayer和presentionlayer的区别

图层树的类型layer tree 分为 model layer tree(模型图层树) 、presentation layer tree(表示图层树) 、render layer tree(渲染图层树)图层树的结构这三种图层树有什么作用呢?说到有啥作用,就不得不提Core Animation 核心动画了。因为这三个图层在核心动画中才能显示出它们的特点和用处。下面是官方文档的说明:模型图层树中的对象是应用程序与之交互的对象。此树中的对象是存储任何动画的目标值的模型对象。每当更改图层的属性..

2021-03-07 11:04:35 531

原创 iOS线程和队列的关系

线程与队列说不清道不明的关系:线程是代码执行的路径,队列则是用于保存以及管理任务的,线程负责去队列中取任务进行执行。 我的理解:多个队列的任务可以在一条线程上执行,一个队列的任务也可以在多条线程上执行。个人理解,队列可以包含线程,线程也可以包含队列。dispatch_sync:立马在当前线程执行任务,执行完再往下走,这句话就可以解释很多问题。dispatch_async:不要求立马在当前线程执行任务,可能会开启新线程,也有可能不会。一、画图解释下队列跟线程间的关系1、一个队列对应一...

2021-03-06 10:31:04 2616

原创 智能家居设备连接路由的技术AirKiss

AirKiss原理分析一、 AirKiss概述AirKiss技术是一种创新性的信息传递技术。通过该技术可以便捷的向一台 与外界没有建立任何一种实质性连接(包括有线、无线、蓝牙、NFC等)的设备传递信息(可以是环境中Wifi的ssid、密码等信息)。AirKiss 技术示意图如下图所示,智能插座与外界没有建立任何一种实质性连接, 可以称之为信息孤岛。通过 Air Kiss 技术,微信客户端 可以将环境中的 Wifi 的ssid 与密码便捷的隔空传递给智能插座,从而使得智能插座能够快速的接入 Wif...

2021-03-03 11:16:44 770 2

原创 iOS链接外部设备的几种方式

一般iOS开发者做APP开发大部分时候都是通过Http(s)请求跟后台服务器打交道,做一些信息展示和用户交互。很少涉及到去跟外部硬件设备连接的开发。随着近年来车联网和物联网的兴起,智能家居和智能硬件的逐步火热,越来越多的app被开发出来,用来跟硬件设备进行来连接,获取硬件相关信息展示或者发送指令控制硬件来提供服务。故本文就针对iOS的app如何跟外部设备进行连接通信这个问题跟大家交流一下。本文原创,欢迎转载,转载请注明出处,如有不正确的地方恳请各位看官指正。可以分为三大类:第一类是通过网络端口,

2021-03-03 11:01:41 2071

sourcetree Mac破解版

用于工程的管理,方便开发者管理自己的代码,使用该工具直接输入Git地址即可,没有多余的操作

2018-04-24

空空如也

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

TA关注的人

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