RACSubject RACSubject是RACSignal的子类,既能订阅信号也能发送信号;拥有RACSignal和RACSubscriber两者的功能。 为什么RACS...
RACSubject RACSubject是RACSignal的子类,既能订阅信号也能发送信号;拥有RACSignal和RACSubscriber两者的功能。 为什么RACS...
RACScheduler:信号调度器,是一个线性执行队列,rac中的信号可以在RACScheduler上执行任务、发送结果,底层用GCD封装的 RACObserve:是一个宏...
函数式编程 主要思想是把运算过程尽量写成一系列嵌套的函数调用。特点 函数式编程要求只使用表达式,不使用语句。也就是说,每一步都是单纯的运算,而且都有返回值。 函数的运行不依赖...
关键帧动画实现围绕路径移动汽车 如果我们想让一个物体沿着一个轨迹移动,就需要用到UIBezierPath。使用UIBezierPath的两个关键点 数据点(起点终点)、控制点...
CAEmitterLayer&CAEmitterCell 属性详讲 CAEmitterLayer可实现⾼性能的粒子引擎,被⽤来创建实现粒子动画;⽐如烟雾、⽕、⾬等效果。 CA...
CALayer透视投影修改 动画案例准备工作:新建空工程CoreAnimation-Transform,在Main.storyboard文件中拖入一个UIImageView,...
核心动画知识导入 CoreAnimation框架是基于OpenGL ES 手机端/OpenGL PC端(iOS13开始为Metal)与CoreGraphics图像处理框架的一...
Dart类与对象 使用命令行工具创建新的工程flutter_oop,创建完成用Android Studio工具打开 flutter_oop工程中新建lg_person.dar...
AS创建空的Dart工程 AS创建Dart空工程 Android Studio -> New Flutter Project选择Empty Project 配置工程名 新建M...
混合开发 新建Flutter工程flutter_module,工程类型Flutter Module新建iOS工程NativeDemo跟flutter_module工程放入同一...
热重载工具的启动流程 研究热重载的价值:更方便对产品进行热更新,Dart代码编写完成Flutter.framework会以亚秒级别的速度进行更新渲染。 热重载原理[https...
Flutter的三方工具有两种,一种是插件(Plugin),一种是包(Package)。这两种差别在于Plugin不仅包含Dart代码,还包含了iOS以及安卓的原生代码,比如...
配置项目代码关联引擎源码 通过下载引擎源码可以进行分析以及动态调试 Flutter引擎编译成功之后,我们获取到模拟器x86架构下的Xcode工程(目录:/src/out/io...
原生嵌入Flutter 原生要想嵌入Flutter,Flutter就不能是一个独立的App,新建工程的时候要选择Flutter Module类型创建,如下图所示 下面新建fl...
Key的作用 新建key_demo工程,在main.dart文件中我们点击查看StatelessWidget源码,再次点击查看Widget源码如下 任何一个Widget都有k...
Widget生命周期 生命周期的基本概念 查看无状态小部件的生命周期 热重载的时候生命周期执行了一次。 问题:重新运行发现生命周期执行了两次 实际上只执行了一次,多出来的一次...
自定义SearchPage 新建search_page.dart文件,创建顶部搜索栏以及布局搜索页面 聊天页面搜索栏跳转搜索页 布局SearchBar SearchBar中的...
异步多线程结合 isolate与进程间的区别 isolate除了拥有线程,还有独立的内存空间,但这个内存空间是局部的,主要存储自己创造的对象或者数据;传递数据的时候需要借助进...