-
一、访问和操作数组 1. 在末尾添加 可变性要求:数组必须是变量(用var定义),常量数组不可修改 append方法: append(:):在数组末尾添加单个元素 append(contentsOf:):在末尾添加多个元素(接受序列) 示例: numbers.append(100):在[2,3,4,
-
在生成或处理 Excel 文件时,经常会遇到单元格内容显示不完整的问题。例如,文本太长导致列宽不够、换行内容显示不全,或者批量写入数据后表格布局不够整齐。 如果只是手动处理一个文件,可以在 Excel 中双击行列边界进行自动调整。但在后台程序、批量报表生成、数据导出等场景中,更常见的做法是通过代码自
-
之前写过一篇Android 自定义 View 实战:打造一个跟随滑动的丝滑指示器,今天使用 Flutter 来实现一个相同的效果。 本文将实现一个根据列表滚动动态偏移的自定义指示器。 1. 核心原理 实现这个效果的关键在于:监听滚动事件,并计算滚动比例。 监听滚动:使用 NotificationLi
-
重要提醒,本文涉及许多C语言的高级概念,比如声明、定义、链接类型等。如果你不了解这些概念,可以先阅读我的另外一篇文章《C语言篇:语法进阶》。 内联替换 内联替换是一种常见的编译时优化方法,通过把函数调用原地替换为对应函数的代码,来避免函数调用产生的上下文切换开销,从而加快程序的运行速度。虽然内联替换
-
大家好,我是老刘 老刘做Flutter开发有7年了差不多。 我记得早先的时候还经常有人讨论为啥Flutter没有选择kotlin而是选了dart。 当时我罗列和很多原因,同时也说过我个人其实是很喜欢Kotlin的。 想当年,Kotlin 就是拯救我们脱离Ja va 苦海的。 优雅的 Lambda 表
-
背景 easy_refresh已经有一段时间没有更新了,不知道这个问题跟flutter版本有没有关系。 问题点 下拉刷新松开之后,刷新完成,会导致大片头部区域空白,一直不消失。 问题原因 当手势松开之后flutter-sdk里面会调用ScrollPositionwithsinglecontext.g
-
Dart 速通攻略(面向 Android 工程师) 背景:相信你对Ja va/Kotlin/Android已经十分熟悉了。接下来,本文将通过“对照+最小可用示例”的方式,助你快速掌握Dart(以Dart 3为基准)。 0. Dart 与 Kotlin/Ja va 思维对照 空安全:与 Kotlin
-
gcc -c source.c 生成 source.o,仅编译汇编不链接;需显式指定-c,多文件须分别处理;构建共享库须加-fPIC;验证用file、nm、readelf。gcc -c 生成 .o 文件的正确用法 直接运行 gcc -c source.c 就能生成目标文件,输出名默认是 source
-
简介 apply 是 Kotlin 标准库里的作用域函数。 作用域函数常见有 5 个: let run with apply also apply 主要用于对象初始化、属性赋值、链式配置。 一句话概括: apply 会在对象自己的作用域里执行一段代码,执行完成后返回对象本身。 常见写法: val u
-
前言 最近在研究Flutter plugin,发现iOS端已经默认采用SPM了。然而,目前SPM的应用还比较有限,而我所获取的Framework又是纯本地的,无需发布到远程仓库,但却始终无法正确添加。其实这本身并非难题,只是我对SPM还不太熟悉罢了。 如果有误,望指正。 .framework转成.x
-
简介 run 是 Kotlin 标准库里的作用域函数。 作用域函数常见有 5 个: let run with apply also run 的特点比较鲜明: 在对象作用域里执行一段逻辑,然后返回 Lambda 最后一行的结果。 常见写法: val result = user.run { "$name
-
前言 做工业上位机软件,数据转换这事儿是无论如何都得面对的。串口接收到的一堆字节,得把它们转成有符号整数、浮点数或者工程量;要给PLC发指令,又得把工程值打包成字节数组。而且每个设备厂家的大小端还各不相同——西门子是大端,Modbus也是大端,可有些国产设备却是小端,稍微不注意,数值就完全错了。 随
-
iPadOS的问世以及iOS对多任务处理需求的不断攀升,促使Apple在iOS 13中引入了UIScene这一全新概念,它对应用生命周期和窗口管理模式进行了彻底的变革。接下来,本文将深入剖析UIScene的概念、运行机制以及实际应用场景。 1. UIScene 概述 UIScene 代表的是一个用户
-
Lighthouse 可访问性审计的入口、报告筛选、问题定位与修复后回归核对。
-
CMake找不到Clang,实际上是因为它没被正确识别,或者路径没有生效。你得确认Clang在PATH环境变量里,而且是真实可执行的文件。同时,还要检查一下版本兼容性。另外,最好显式地指定绝对路径(比如-DCMAKE_C_COMPILER=/usr/bin/clang),并且清除CMake缓存,以免