目标 OC改造为MVVM设计模式,并且实现VM与View和Model的数据双向绑定。使用ReactiveObjC来进行改造。想进一步了解ReactiveObjC可以参考:ht...
目标 OC改造为MVVM设计模式,并且实现VM与View和Model的数据双向绑定。使用ReactiveObjC来进行改造。想进一步了解ReactiveObjC可以参考:ht...
一、横放左右两个text控件,右边的text随文字大小,左边的text自动占满剩下的空间。多用于tableView cell的title与detail。 使用flexGrow...
一、开发环境搭建 基础环境 通过brew安装Node.js 使用npm安装yarn npm install -g yarn (-g 代表全局安装) react项目环境 任意目...
最近在学JS,发现使用JS的Promise写多个异步请求不需要嵌套,挺友好。所以就想研究下OC有没对应的方式。 OC的话可以通过ReactObj这个库来实现。ReactObj...
JavaScript的原型链算是JS比较难的一个点了。断断续续学习了一段时间,进过自己的思考,好像总结了一套自己的理解。 原型链总图: Js是通过对象创建对象,所以每个对象都...
一、背景效果: 原本以为用collectionView实现很方便,发现使用page属性或者自己控制都达不到理想效果。下面通过修改flowLayout的方式实现: 使用coll...
像素:图片包含所有的像素个数尺寸:图片的width与height的长度,单位可以用英寸分辨率:width(像素)/width(英寸)=单位英寸包含的像素个数 分辨率:1294...
一、概述 本文会讲到的内容:1、FFmpeg结构2、FFmpeg解码3、FFmpeg的时间timebase4、FFmpeg编码5、FFmpeg封装mp4 二、FFmpeg结构...
我的ffmpeg开源项目地址Viktor_ffmpeg[https://github.com/rainmeterLotus/Viktor_ffmpeg]该项目主要以学习ffm...
1、概述 上节提到,3D图形的移动,旋转,缩放等变换,都是通过乘以一个矩阵实现。那么为什么通过矩阵就可以实现呢?本节主要是探讨这个问题。要理解本节内容,你最好有点向量和矩阵的...
1、三角形变金字塔 有了上面OpenGL绘制2D三角形的经验,大家可以想下,要绘制3D的图形,需要怎么做呢? 也许大家会想到,添加z坐标就可以实现了。前面画2D三角形时候,坐...
1、概述 下面我通过使用OpenGL绘制三角形,来解析OpenGL的绘制原理。 我们先来回顾下OpenGL的渲染管道流程: 顶点数据 -> 顶点着色器 -> 图元装配 -> ...
渲染管道如下: OpenGL渲染管道,类似流水线的工作方式,按顺序执行每一个管道。管线总结为:顶点数据(Vertices)-> 顶点着色器(Vertex Shader)-> ...
一、前提 查看OC编译后的代码:xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m可以生成main.m编译后...
一、load load的方法调用是在加载类的时候,是通过函数的指针直接调用的,不是通过obj_msgSend消息发送机制,所以不存在查找的过程。因为是通过函数指针直接调动,所...
一、Category结构 Category有它自己的结构: 比如说一个类Person,有分类Person_A和Person_B。那么在编译完成后,分类Person_A和Per...
一、KVO截屏2021-06-26 下午2.06.12.png MJPerson有个属性age,这里对age进行KVO监听。 1、未添加KVO监听: 2、添加KVO监听后: ...
一、概要 先要区分两个概念:1、类:一种结构体,所有对象公用一个类结构。2、对象:通过类创建出来,每个对象有独立的内存空间。 二、对象结构 如上图,Student对象实例st...
iOS签名原理 如上图,iOS的app编译完后会有几次签名处理。具体原理自己去百度,这里不细说。因为Apple私钥只有苹果才有,所以mobileprovision文件我们是不...
1、可以通过在xcode的target添加Aggregate的方式2、直接生成shell脚本的方式 用Aggregate的方式,可以使用一些全局环境变量,比如:SRCROOT...