04 2023 档案
发表于 2023-04-17 17:52阅读:987评论:0推荐:0
摘要:Flutter枚举 Enum Extension 在Dart2.7版本,Dart新增了扩展函数,使枚举相关的代码定义、调用更加简洁 通过扩展枚举定义方法 定义一个元素枚举 enum Element { hydrogon, carbon, oxide } 定义一个枚举扩展,通过switch case获
阅读全文 »
发表于 2023-04-06 17:00阅读:248评论:0推荐:0
摘要:IOS热重载工具InjectionIII 支持 OC、Swift 以及 Swift 和 OC 混编项目的 UI 热重载工具,采取在模拟器(真机不支持)注入方式实现 UI 热重载,修改完 UI 直接 cmd + s,不用重新编译运行就能看到 UI 效果。👉🏻 Github 👈🏻 安装 gith
阅读全文 »
发表于 2023-04-05 17:48阅读:32评论:0推荐:0
摘要:IOS多线程之NSOperation(3) 操作优先级和服务质量 可以通过QueuePriority属性来设置operation在队列中的执行优先级 public enum QueuePriority : Int, @unchecked Sendable { case veryLow = -8 ca
阅读全文 »
发表于 2023-04-05 17:48阅读:33评论:0推荐:0
摘要:IOS多线程之NSOperation(2) 最大并发数 open var maxConcurrentOperationCount: Int 并发数就是同时执行的任务数。比如,同时开3个线程执行3个任务,并发数就是3。 但是,并发数是3,并不代表开启的线程数就是3,也有可能是4个或者5个。因为线程有可
阅读全文 »
发表于 2023-04-05 14:19阅读:48评论:0推荐:0
摘要:IOS多线程之NSOperation(1) NSOperation 是 OC 语言中基于 GCD 的面向对象的封装; 提供了一些用 GCD 不好实现的功能; 线程的生命周期由系统自动管理。 NSOperation 需要和 NSOperationQueue 配合使用来实现多线程方案。单独使用 NSOp
阅读全文 »
发表于 2023-04-05 14:16阅读:128评论:0推荐:0
摘要:有关IOS内存读写冲突 在写内存相关代码时,获取已使用内存代码中报错 let hostPort: mach_port_t = mach_host_self() var host_size = mach_msg_type_number_t(MemoryLayout<vm_statistics_data
阅读全文 »
发表于 2023-04-05 14:14阅读:93评论:0推荐:0
摘要:IOS富文本 通过String创建一个NSMutableAttributedString,必须是带有Mutable的可变富文本,否则无法添加属性 let string = "我是一个富文本" let astring = NSMutableAttributedString(string: string
阅读全文 »
发表于 2023-04-05 14:13阅读:1422评论:0推荐:0
摘要:Flutter之GetX之GetConnect GetConnect可以便捷的通过http或websockets进行前后台通信。 默认配置 能轻松的通过extend GetConnect就能使用GET/POST/PUT/DELETE/SOCKET方法与Rest API或websockets通信。 c
阅读全文 »
发表于 2023-04-05 14:12阅读:1207评论:0推荐:0
摘要:Flutter之GetX之国际化 在GetMaterialApp中设置 GetMaterialApp( locale: Get.deviceLocale, translations: Messages(), fallbackLocale: const Locale("en_US"), ) 其中设置的
阅读全文 »
发表于 2023-04-05 14:11阅读:448评论:0推荐:0
摘要:GetX之路由管理 GetX有一套完整的路由管理,并且不需要context上下文,API非常简洁 直接导航 导航到新的页面 Get.to(NextScreen()); 返回,此方法可以用于关闭SnackBars、Dialogs、BottomSheets或任何你通常会用Navigator.pop(co
阅读全文 »
发表于 2023-04-05 14:10阅读:873评论:0推荐:0
摘要:IOS网络状态变化监听 使用Alamofire库的NetworkReachabilityManager 一共有三种状态 /// It is unknown whether the network is reachable. case unknown /// The network is not re
阅读全文 »
发表于 2023-04-05 14:09阅读:245评论:0推荐:0
摘要:IOS实现水波纹 需要实现一个水波纹效果 其实就是画两个正弦函数或者余弦函数的layer在view上面,根据屏幕刷新率来重绘,更新其左右偏移量来让其看起来是在左右移动 具体实现 定义两个layer,用不同的颜色填充 lazy var frontLayer: CAShapeLayer = { let
阅读全文 »
发表于 2023-04-05 14:03阅读:694评论:0推荐:0
摘要:iOS - 利用 UIBezierPath 绘制圆弧 API UIBezierPath 绘制圆弧主要利用以下方法: open func addArc(withCenter center: CGPoint, radius: CGFloat, startAngle: CGFloat, endAngle:
阅读全文 »
发表于 2023-04-05 14:02阅读:2186评论:0推荐:0
摘要:Flutter之GetX之Obs 除了之前说过的GetBuilder,GetX还有其他的状态管理方式 一个后缀就可以把一个变量变得可观察,变量每次改变的时候,使用它的小部件就会被更新 var name = '周杰伦'.obs; 然后通过 Obx 或者 GetX 包裹并使用响应式变量的控件,在变量改变
阅读全文 »
发表于 2023-04-05 14:00阅读:2005评论:0推荐:0
摘要:Flutter之GetX之GetBuilder GetX是Flutter的一个非常强力的三方库,包含了非常多的功能,比如状态管理、路由管理、国际化、路由中间件、主题、数据库等等 今天简单介绍一下状态管理中的GetBuilder实现 有关状态管理 当你的 Flutter 应用的状态发生改变时(例如,用
阅读全文 »
发表于 2023-04-05 13:57阅读:450评论:0推荐:0
摘要:IOS跳转到系统相册及一些其他的URL Scheme APP 间的跳转主要通过 UIApplication.shared.openURL(url) 这种方法来实现的,但iOS10 后又稍加不同,iOS10 之后就变成了 UIApplication.shared.open(url, options:
阅读全文 »
发表于 2023-04-05 13:56阅读:499评论:0推荐:0
摘要:IOS CABasicAnimation实现旋转动画 定义一个CABasicAnimation lazy var rotateAnimation: CABasicAnimation = { let animation = CABasicAnimation(keyPath: "transform.ro
阅读全文 »
发表于 2023-04-05 13:53阅读:443评论:0推荐:0
摘要:Dart代码混淆 代码混淆是修改应用程序的二进制文件以使其更难被人类理解的过程。混淆会在编译后的 Dart 代码中隐藏函数和类名称,将每个符号替换为另一个符号。 Flutter 的代码混淆仅适用于release版本。 请注意,混淆代码不会加密资源,也不会防止逆向工程。它只会重命名名称更晦涩的符号。
阅读全文 »
发表于 2023-04-05 13:51阅读:443评论:0推荐:0
摘要:IOS颜色选择器 UIColorWell UIColorWell是一个继承UIControl的视图,它不能调整大小和UISwitch类似,大小大约是44*44。点击可弹出一个选择颜色的弹窗 因为是继承UIControl所以可以添加UIControlEventValueChanged类型的Event事
阅读全文 »
发表于 2023-04-05 13:48阅读:150评论:0推荐:0
摘要:Swift中让值类型以引用方式传递 在 Swift 众多数据类型中,只有 class 是引用类型, 其余的如 Int、Float、Bool、Character、Array、Set、enum、struct全都是值类型. 有时候我们需要通过一个函数改变函数外面变量的值(将一个值类型参数以引用方式传递),
阅读全文 »
发表于 2023-04-05 09:39阅读:487评论:0推荐:0
摘要:IOS获取蓝牙状态 监听蓝牙状态 在Link Binaries With Libraries中添加CoreBluetooto.framework 创建CBCentralManager对象 为了避免每次都获取蓝牙状态都弹窗,配置一下options 将CBCentralManagerOptionShow
阅读全文 »