自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 《Unity3D高级编程之进阶主程》第一章 C#要点技术(二) - Dictionary 底层源码剖析

Dictionaray是由数组构成,并且由哈希函数完成地址构建,由拉链法冲突解决方式来解决冲突。从效率上看,同List一样最好在实例化对象时,即 new 时尽量确定大致数量会更加高效,另外用数值方式做Key比用类实例方式作为Key值更加高效率。从内存操作上看,大小以3->7->17->37->….的速度,每次增加2倍多的顺序进行,删除时,并不缩减内存。如果想在多线程中,共享 Dictionary 则需要进行我们自己进行lock操作。

2024-06-19 17:13:58 477

原创 clean code-代码整洁之道 阅读笔记(第十章)

对类的任何修改都有可能破坏类中的其他代码。我们的Portfolio类不再依赖于TokyoStockExchange类的实现细节,而是依赖于StockExchange接口。如果我们构建一个依赖于外部TokyoStockExchangeAPI的Portfolio类,代表投资组合的价值,则测试用例就会受到价值查询的连带影响。在整洁的系统中,我们对类加以组织,以降低修改的风险。尽管讨论了这么多关于代码语句及由代码语句构成的函数的表达力,除非我们将注意力放到代码组织的更高层面,就始终不能得到整洁的代码。

2024-06-19 15:36:51 298

原创 clean code-代码整洁之道 阅读笔记(第九章)

代码中的测试展示了为测试构造一种面向特定领域的语言的技巧。我们没有直接使用程序员用来对系统进行操作的API,而是打造了一套包装这些API的函数和工具代码,这样就能更方便地编写测试,写出来的测试也更便于阅读。测试API中的代码与生产代码相比,有一套不同的工程标准。守规矩的开发者也将他们的测试代码重构为更简洁和具有表达力的形式。如果测试不干净,你改动自己代码的能力就有所牵制,而你也会开始失去改进代码结构的能力。测试与生产代码一起编写,测试只比生产代码早写几秒钟。和其他代码一样:明确,简洁,还有足够的表达力。

2024-06-18 18:09:05 502

原创 《Unity3D高级编程之进阶主程》第一章 C#要点技术(一) - List 底层源码剖析

List 并不是高效的组件,真实情况是,他比数组的效率还要差的多,他只是个兼容性比较强得组件而已,好用,但效率差。

2024-06-18 16:10:07 853

原创 UML是啥?类图是啥?UML类图怎么画?进来手把手教!!!

UML:统一建模语言的简称,它是一种由一整套图表组成的标准化建模语言。UML用于帮助系统开发人员阐明,展示,构建和记录软件系统的产出。类图(Class Diagram)是描述类、接口、协同以及他们之间关系的图,用来显示系统中这些概念的静态结构。类图也是其它图的基础,我们可以在类图的基础上,使用状态图、协作图、组件图和配置图等。二、UML类图怎么画?2.1 单个类常见的类图和接口静态属性/方法:加上下划线,如抽象属性/方法:使用斜体表示,如。

2024-06-17 17:51:08 944

原创 clean code-代码整洁之道 阅读笔记(第一章~第八章)

记住,好的软件系统是由一系列读起来不错的代码文件组成的。读者要能确信,他们在一个源文件中看到的格式风格在其他文件中也是同样的用法。数据、对象的反对称性:在任何一个复杂系统中,都会有需要添加新数据类型而不是新函数的时候。另一方面,也会有想要添加新函数而不是数据类型的时候。做到这一步,我们就能单独处理它,也极大地提升了代码的可维护性。在使用我们控制不了的代码时,必须加倍小心保护投资,确保未来的修改不至于代价太大。使用单独的块封装,主代码尽量只与封装的块交互。边界上的代码需要清晰的分割和定义了期望的测试。

2024-06-04 15:57:57 221

原创 程序员的武功秘籍

个人觉得学习就像是在修炼武功。

2024-06-03 17:15:55 510

原创 Unity开发——C#代码规范

每一行代码的行长度,建议不要超过110个字符或者说不超过屏幕宽度。单个类文件原则上不超过1000行。接近或者超过,考虑拆分类或者多个文件实现类。模板类型加前缀T,接口加前缀I,枚举加前缀E。类的公有成员变量大写开头,不需要加m前缀,尽量用属性代替公有变量。Camel命名法:第一个单词首字母小写,其余单词首字母大写。尽量不要缩写名字,名字长没关系,尽可能描述清楚。函数用动词命名,其它的用名词或者形容词命名。建议单个函数长度不要超过80行。超过80行,可以考虑拆分函数重用代码。类的静态成员变量用s开头。

2024-06-03 10:02:25 310

原创 Unity 动画

通过简化的为任何内容制作动画。DOTween 是一个快速、高效、完全类型安全的面向对象的动画引擎,针对 C# 进行了优化(它是以前的 Unity 补间引擎的演变)。

2024-04-20 14:27:01 1182

原创 Unity UI——UGUI

布局组会监听该组内的子项提供的布局信息。布局组将确定该组必须为多大(最小大小和偏好大小)才能够包含所有子项,并充当布局元素来提供这些有关最小大小和偏好大小的信息。内容大小适配器会监听同一游戏对象上的任何布局元素提供的布局信息,此处由水平(或垂直)布局组提供。指定了灵活大小但未指定偏好大小的布局元素将保持其最小大小,直到其他布局元素已扩展到完整偏好大小为止,仅在此后才基于额外的可用空间开始扩展。布局元素不直接设置自身的大小,而是可由用作布局控制器的其他组件使用布局元素提供的信息来计算布局元素要使用的大小。

2024-04-20 09:50:32 972

原创 LoxodonFramework 数据双向绑定

【代码】LoxodonFramework 数据双向绑定。

2024-04-19 11:27:21 138 1

原创 Unity DOTween 回调

DOTween的API支持链调用。

2024-04-10 10:52:29 526 1

原创 Unity 常见问题:Vector3类型 == null ?

原因:Vector3 是struct ,不是class,不是存储内存地址,不能使用 == null的方法来判断。场景:想要在vector未赋值时,才给vector赋值。出现问题:一直没有输出,没有进入if里面。解决:使用Equals。

2024-04-07 18:09:16 127

原创 Unity报错:Destroy销毁物体失败

【代码】Unity报错:Destroy销毁物体失败。

2024-04-07 16:49:20 327

原创 Unity —— HorizontalLayoutGroup下调整UI显示层级

布局时,直接修改物体在列表中的位置会修改物体本身的位置。在设置列表位置之前先去掉父物体上的。

2024-04-07 15:47:11 205

原创 为什么说int比float表示的数多?

按照常理来说:int和float都是32位,都能表示2^32个数,所以能表示的个数是一样多的。float能表示的范围比int能表示的范围要大。

2024-03-07 12:00:37 1126 1

原创 Flutter——绘制学习之基础知识

--->[画布绘制--矩形相关]-------->[画布绘制--类圆相关]-------->[画布绘制--图片相关]-------->[画布绘制--点相关]-------->[画布绘制--文字]-------->[画布绘制--其他]----Paint 画笔对象。---->[路径绝对移动]-------->[路径相对移动]-------->[画布状态]-------->[画布变换]-------->[画布裁剪]-------->[路径添加]-------->[路径操作]----

2023-10-27 12:06:58 92 1

翻译 响应应用程序生命周期事件——IOS

在应用程序离开后台状态成为活动应用程序前不久发布的通知。当应用程序不再活跃并失去焦点时发布的通知。当应用程序进入后台时发布的通知。当应用程序即将终止时发布的通知。当应用程序激活时发布的通知。该应用程序现在处于后台。该应用程序即将进入前台。

2023-08-25 14:15:04 95

原创 Android 在小组件展示动画——ViewFlipper嵌套ImageView

拓展:如果资源文件上传一个GIF,再把GIF每一帧拆分成BitMap,再把BitMap设置成ImageView,然后作为ViewFlipper的子控件就可以了。实现:RemoteViews不支持直接使用动画,所以尝试使用ViewFlipper嵌套ImageView的方式实现动图。:现在是写死的,就算重新去设置图片也非常麻烦。而且每一帧的图片需要上传到drawable,再去每帧图片设置,很不科学。把每一帧图片生成的RemoteViews 加入到小组件的RemoteViews中的ViewFlipper下。

2023-07-29 18:27:36 443

原创 IOS swift String转换成Date相差8个小时的问题

提供字符串,转换成时间格式,转换后的时间少了8个小时。在IOS开发中使用swift。

2023-07-15 16:11:11 614 1

原创 MacOS搭建Flutter 环境

提示:Waiting for another flutter command to release the startup lock…第三步:进入自己的工具(Android studio/vs code),在设置中配置flutter路径。第四步:下载flutter插件,flutter插件集成了dart插件,不需要再下dart插件。下载成功后会自动解压,把Flutter文件放到自己指定的位置。第一步:官网下载对应版本的flutter SDK。MacOS有两个版本:x64和 arm64。

2023-07-15 12:17:17 1664 1

原创 IOS原生分享功能

【代码】IOS原生分享功能。

2023-06-16 15:09:03 409 1

原创 在IOS小组件对获取的数据进行AES加密解密

这里是flutter项目中的IOS部分,使用的是 swift,导入第三方库。剩下的就是在调用数据库之后调用加密解密方法即可。导入第三方库,为了在小组件中使用需要额外操作。在小组件文件下创建AESUtil.swift。前面的文章介绍了小组件怎么获取数据库的数据。

2023-06-16 14:30:27 442 1

原创 Flutter项目中 IOS小组件访问flutter数据库文件

这里只是对flutter资源文件中的数据库文件进行读取,并在IOS小组件中进行展示。提前在flutter端准备好的数据库,也可以flutter端对数据文件进行操作。获取flutter资源路径后放入UserDefaults。数据库文件内容(路径:assets/db.sqlite)配置好同一个App Group。在小组件时间轴生成函数中调用方法。

2023-06-15 16:46:52 257 1

原创 在IOS访问Flutter资源文件

在IOS上访问flutter端 assets/db.sqlite文件。在 iOS 平台上,assets 资源文件通过。方法也可以获取文件路径。,而开发应用程序使用平台视图时,因为主要开发应用,所以使用。方法获取文件路径,同样,

2023-06-15 16:29:02 406 1

原创 Flutter GetX的使用学习——基础部分

GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。

2023-05-30 16:23:22 974

原创 关于IOS10之前的发送本地通知

IOS4-IOS9发送本地通知。

2023-05-23 14:22:09 178 1

原创 Flutter项目——IOS发送本地通知(IOS10)

这篇文章使用ObjectC编写,官网中有Swift的写法。

2023-05-22 21:08:56 557 1

原创 Flutter项目——IOS桌面以及锁屏小组件开发(动态配置数据)

桌面小组件要求IOS14及以上,锁屏小组件则需要IOS16及以上。1.Xcode中File->New->Target2.勾选 “Include Configuration Intent” 复选框 Ps:小组件使用SwiftUI,所以只能使用Swift。思路是:配置小组件的时间线Ps:官网说活跃的app,每天有40到70次更新的资源,但是在app刚下载的几天里会有Siri学习行为,可能会超过这个次数。手动刷新小组件的方法:Ps:app位于前台时,刷新小组件不消耗次数资源。app与小组件的交互:

2023-05-22 20:47:57 2376 1

原创 Flutter项目——IOS动态更改图标

IOS端的实现:主要使用了IOS10.3提供的。

2023-05-22 19:58:48 696 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除