随笔分类 -  iOS

iOS开发技术分享
摘要:GPUImage是iOS上一个基于OpenGL进行图像处理的开源框架,内置大量滤镜,架构灵活,可以在其基础上很轻松地实现各种图像处理功能。 GPUImgae特性 1,丰富的输入组件 摄像头、图片、视频、OpenGL纹理、二进制数据、UIElement(UIView, CALayer) 2,大量现成的 阅读全文
posted @ 2019-12-05 14:10 Lan_ht 阅读(1211) 评论(0) 推荐(0)
摘要:iOS图形处理概论:OpenGL ES,Metal,Core Graphics,Core Image,GPUImage,Scene Kit (3D) ,Sprite Kit (2D),OpenCV iOS与图形图像处理相关的框架都在这里了: 界面图形框架 UIKit 核心动画框架 Core Anim 阅读全文
posted @ 2019-12-05 11:37 Lan_ht 阅读(249) 评论(0) 推荐(0)
摘要:CMTime:64位的value,32位的scale, media的时间格式 CMVideoFormatDesc:video的格式,包括宽高、颜色空间、编码格式、SPS、PPS CVPixelBuffer:包含未压缩的像素格式,宽高 CMBlockBuffer:压缩的的图像数据 CMSampleBu 阅读全文
posted @ 2019-10-29 17:19 Lan_ht 阅读(5215) 评论(0) 推荐(0)
摘要:AVCaptureInput AVCaptureOutput 阅读全文
posted @ 2019-10-29 14:07 Lan_ht 阅读(607) 评论(0) 推荐(0)
摘要:单一原则 一个类只负责一件事。例:UIView和CALayer 开闭原则 对修改关闭,对扩展开放 依赖倒置原则 抽象不应该依赖于具体实现,具体实现可以依赖于抽象 里氏替换原则 父类可以被子类无缝替换,且原有功能不受影响。例:KVO机制 接口隔离原则 使用多个专门的协议,而不是庞大臃肿的协议。例:UI 阅读全文
posted @ 2019-10-20 11:13 Lan_ht 阅读(125) 评论(0) 推荐(0)
摘要:绘制原理 首先看一幅流程图 UIView调用setNeedsDisplay方法后,实际上并没有发生当前视图的绘制工作,而是在之后的某一时机进行绘制工作,为什么会在之后的某一时机进行绘制工作呢? 当UIView调用setNeedDisplay之后,系统会调用view对应layer的 setNeedsD 阅读全文
posted @ 2019-10-20 11:00 Lan_ht 阅读(558) 评论(0) 推荐(0)
摘要:iOS开发 使用Pods中使用Swift和Objective C混编 编译不通过的原因 ld: symbol(s) not found for architecture arm64 问题基本描述 在Pods管理的Objective C中导入Swift过程中出现问题 项目中需要展示报表,而使用的第三方 阅读全文
posted @ 2019-10-14 13:52 Lan_ht 阅读(822) 评论(0) 推荐(0)
摘要:KVO的全称是Key Value Observing,俗称“键值监听”,可以用于监听某个对象属性值的改变 原理 利用RuntimeAPI动态生成一个子类,并且让instance对象的isa指向这个全新的子类 当修改instance对象的属性时,会调用Foundation的_NSSetXXXValue 阅读全文
posted @ 2019-09-03 15:51 Lan_ht 阅读(313) 评论(0) 推荐(0)
摘要:KVC的全称是Key Value Coding,俗称“键值编码”,可以通过一个key来访问某个属性 常见的API有 setValue:forKey:的原理 valueforKey:的原理 相关问题 KVC的赋值和取值过程是怎样的?原理是什么? 答:如上; 通过KVC修改属性会触发KVO么? 答:会 阅读全文
posted @ 2019-09-03 15:06 Lan_ht 阅读(209) 评论(0) 推荐(0)
摘要:常见马虎导致崩溃 1 数组越界; 2 多线程问题,在子线程刷新UI; 3 主线程无响应,主线程超过系统规定的时间没有响应,就会被watchdog杀掉; 4 野指针; 崩溃信息的收集却并没有那么简单。因为,有些崩溃日志是可以通过信号捕获到的,而很多崩溃日志却是通过信号捕获不到的。 第三方崩溃监控工具: 阅读全文
posted @ 2019-08-27 11:28 Lan_ht 阅读(769) 评论(0) 推荐(0)
摘要:超文本传输协议(HTTP, HyperText Transfer Protocol)是一种无状态的协议,它位于OSI七层模型的传输层。HTTP客户端会根据需要构建合适的HTTP请求方法,而HTTP服务器会根据不同的HTTP请求方法做出不同的响应。 1. HTTP版本与HTTP请求方法 在HTTP的发 阅读全文
posted @ 2019-07-12 10:06 Lan_ht 阅读(348) 评论(0) 推荐(0)
摘要:概览 数字签名 签名机制与验证过程 操作流程 数字签名 摘要算法 例如,MD5和SHA算法 非对称加密 例如,RSA算法,非对称加密加解密比较耗时,实际使用中,往往与对称加密和摘要算法结合使用 数字签名的作用是我对某一份数据打了个标记,表示我认可了这份数据(签了个名),然后我发送给其他人,其他人可以 阅读全文
posted @ 2019-07-09 11:48 Lan_ht 阅读(1487) 评论(0) 推荐(0)
摘要:系统网络框架架构图 前世-NSURLConnection NSURLConnection是苹果提供的原生网络访问类,已经有10多年的历史了,它从 iOS 2.0 开始,一直到iOS9被废弃。异步方法在 iOS 5.0 之后才有 ,在 iOS 5.0 之后,是通过代理的方式,来实现网络开发。 NSUR 阅读全文
posted @ 2019-06-27 11:48 Lan_ht 阅读(176) 评论(0) 推荐(0)
摘要:概览 1,RAM ROM 2,内存的几大区域 3,案例解释 RAM ROM RAM:运行内存,不能掉电存储。 ROM:存储性内存,可以掉电存储,例如内存卡、Flash。 内存的几大区域 为了合理的分配有限的内存空间,将内存区域分为五个区,由低地址向高地址分类分别是:代码区、常量区、全局静态区、堆、栈 阅读全文
posted @ 2019-05-25 14:53 Lan_ht 阅读(710) 评论(1) 推荐(0)
摘要:概览 基本概念 什么是位? 什么是字节? 位表示的是二进制位,一般称为比特,即0或1,是计算机存储的最小单位; 字节是计算机中数据处理的基本单位; 计算机中以字节为单位存储和解 释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特。 1Byte=8bit 地址总线? (1)CPU是通过地址 阅读全文
posted @ 2019-05-03 15:42 Lan_ht 阅读(14814) 评论(5) 推荐(2)
摘要:为什么有initWithCoder还要awakeFromNib? awakeFromNib相较于initWithCoder的优势是:当awakeFromNib执行的时候,各种IBOutlet也都连接好了;而initWithCoder调用的时候,虽然子视图已经被添加到视图层级中,但是还没有引用。如果你 阅读全文
posted @ 2019-03-20 15:49 Lan_ht 阅读(179) 评论(0) 推荐(0)
摘要:前言 为什么不用系统相机要用自定义相机呢? 由于系统相机功能单一,界面简单,在开发的过程中为了达到更好的个性化交互设计,符合app主题,提供更多更有趣的功能时候,我们会采用自定义相机。来达到更好的界面效果,更好的用户体验。接下来说说整个自定义相机过程,以及遇到的一些问题。 概览 1,流程 2,详细各 阅读全文
posted @ 2019-03-19 15:50 Lan_ht 阅读(560) 评论(0) 推荐(0)
摘要:概览 1,冒泡排序; 2,选择排序; 3,快速排序; 4,归并排序; 5,插入排序; 冒泡排序 比较两个元素、交换它们的位置 算法原理:冒泡排序算法的运作如下:(从后往前)比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最 阅读全文
posted @ 2019-03-18 17:05 Lan_ht 阅读(2109) 评论(0) 推荐(0)
摘要:概览 1,什么是锁(临界区)? 2,常用的锁有哪些? 3,相关链接 什么是锁(临界区) 临界区:指的是一块对公共资源进行访问的代码,并非一种机制或是算法。 常用的锁有哪些? 互斥锁:是一种用于多线程编程中,防止两条线程同时对同一公共资源(比如全局变量)进行读写的机制。该目的通过将代码切片成一个一个的 阅读全文
posted @ 2019-01-03 11:46 Lan_ht 阅读(253) 评论(0) 推荐(0)
摘要:概览 指针是C语言的精华部分,通过利用指针,我们能很好地利用内存资源,使其发挥最大的 效率。有了指针技术,我们可以描述复杂的数据结构,对字符串的处理可以更灵活,对数组 的处理更方便,使程序的书写简洁,高效,清爽。 1.指针与指针变量 2.数组与指针 3.函数指针 指针与指针变量 指针是C语言的精华部 阅读全文
posted @ 2018-12-27 18:27 Lan_ht 阅读(215) 评论(0) 推荐(0)