Flutter状态管理 1.初识状态 Flutter是声明式编程,通过构建用户界面来反应状态的变化,如上图: f对应着build()函数; state是构建应用界面时所需的状态,即数据。 Flutter中通过修改状态,触发界面的重绘,而非直接修改界面对象本身。 1.1.原生-命令式原生开发中,点击按钮并修改一个组件的属性从而改变其状态时,通常情况下,我们会在按钮回调中找到此组件的对象,直接修改其对应属性的值,由run 2023-08-10 Flutter #Flutter
Flutter手势拦截 1.背景这两天在学习手势相关的知识点,想实现一个Listview带可点击的背景视图。使用的是Stack布局,上层为Listview,下层为背景与按钮。因为Listview在上,点击手势无法穿透并向下传递,导致背景中的按钮无法响应点击事件。 几经查询,了解到IgnorePointer、AbsorbPointer组件,其中的前者就可以实现点击穿透的效果。以下就是对研究点击穿透原理过程的整理记录。 2 2023-07-15 Flutter #Flutter
集成Flutter模块 1.集成方式现有iOS工程中,可以添加flutter_module以集成flutter模块。这些模块会以framework的形式被集成到iOS工程中。同时在集成flutter模块前,需要导入依赖的Flutter engine等。为完成这些工作,Flutter根据不同需求提供了三种方式: 1.全自动 CocoaPods管理依赖,这种方式下每次我们build应用时,flutter_module模块中的 2023-04-23 Flutter #Flutter
Flutter attach 1.背景hot-reload,热重载,允许开发者在应用运行时更改源代码,并实时观看效果。目前SwiftUI与Flutter都具备热重载的能力,开发阶段调试UI的效率极高。在原生iOS应用中混编flutter模块时,原生部分(非SwiftUI的)在修改后还是需要通过重新Run来查看效果,而其中的 Flutter 部分则是可以基于flutter attach实现热重载的,本文就简单的做一次配置记录。 2023-03-29 Flutter #Flutter
Dart空安全? 1.空安全最近打开很早之前的Flutter工程,发现大面积报错,无法运行。看了下报错信息,很多都是说变量不能为空,构造函数中命名参数不能为空。一番搜索之后,发现是Dart2.1.2和Flutter2.0版本开始推出一个重大更新:支持null safety了,这是一个与Swift中optional类似的空安全特性。它是编译阶段对属性、参数、返回值等可能为空null的类型的特殊处理。 2.作用在空安全 2022-09-05 Flutter #Flutter
Dart语言一览 一.简介 Dart is a client-optimized language for fast apps on any platform. Dart是谷歌开发的计算机编程语言,可用于移动应用、网页、服务器等领域。它是一门面向对象的语言,也是强类型的、类定义的、单继承的语言,支持接口、混入(Mixins)、抽象类、泛型、可选类型等。它融合了许多现代编程语言的优秀特性,从中能看到JavaScri 2022-01-09 Flutter #Flutter
RAC-数据过滤与转换 前言信号在订阅后就可以接收回调的数据了,有时候我们需要对收到的数据进行过滤或者转换。 例如发送按钮的userInteractionEnabled状态需要依请求的isFnished状态而定: 请求未返回则按钮不可点击; 请求成功返回后按钮可点击; 这种场景下我们只需创建一个信号监听请求的isFnished属性,并对信号返回的结果取反即可。 再比如修改昵称时一般不能前后输入一样的昵称,这时候我们可 2021-06-06 OC #源码
RAC-信号的组合 前言项目中往往有多个信号在执行任务,而信号之间通常要按一定的方式或顺序进行组合。比如: 先要用户登录成功才能加载通讯录; 请求头像和用户信息都完成后才刷新详情页。 RAC 针对诸如这些场景,设计了一套实用的API供我们组合信号: concat12/// Subscribes to `signal` when the source signal completes.- (RACSignal *) 2021-06-01 OC #源码
RAC-异步行为 前言OC中的异步行为: block delegate KVO 通知 target-action机制 异步行为的共同点: 何时触发并不确定,观察者需要等待其触发时的回调; 异步行为的创建和触发并不在同一块区域,往往是分开的。 异步行为的缺点: 异步行为的创建和回调相对分散,这不符合代码规范中”高内聚”的要求; 使用不当时,这些行为往往会造成循环引用等问题。 RAC文档 摘要: One 2021-05-25 OC #源码
RAC-信号与订阅者 一.信号1.信号是啥RAC文档 中关于RACSignal的描述: A signal, represented by the RACSignal class, is a push-driven stream.Signals generally represent data that will be delivered in the future. As work is performed or d 2021-05-25 OC #源码