- 博客(175)
- 资源 (4)
- 收藏
- 关注

原创 swift 替代print 方法更具体的日志输出
直接贴代码了,可以支持多参数,在别人基础上进行修改public func Fprint(_ items: Any..., separator: String = " ", terminator: String = "\n", _ file:String = #file, ...
2020-01-16 21:16:11
614
1

转载 Swift5.0 遇到的一些问题
使用Swift5.0 遇到不少问题,有些是Xcode的bug,比如Xcode 11.2 使用 show in finder 显示文件位置,就会卡死,swift编译本来就慢,算了不抱怨了1 通过setValuesForKeys保存字典数据,无法存储参考文章:https://blog.youkuaiyun.com/Sunsgne/article/details/79643270代码如下class Pers...
2019-11-13 21:04:51
525

原创 python3 使用openpyxl 处理excel表格数据
直接贴代码,注释很清楚import openpyxlimport timeimport osimport threadingclass mExcelManager: def __init__(self,filerootpath,filename): self.allmodels = [] self.zimu = ["A", "B", "C", "...
2019-11-13 20:56:26
1115

原创 Python 多进程和多线程
一.多进程进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程。进程是系统进行资源分配和调度的一个独立单位。进程是由代码(堆栈段)、数据(数据段)、内核状态和一组寄存器组成。在多任务操作系统中,通过运行多个进程来并发地执行多个任务。由于每个线程都是一个能独立执行自身指令的不同控制流,因此一个包含多个线程的进程也能够实现进程内多任务的并发执行。进程是一个内核级的实体...
2019-02-15 17:52:33
605

转载 IOS 分类结合RunTime实例
C本身是一个静态语言,数据类型和代码运行的结果都是在编译的时候确定的。而Objective-C的runtime机制赋予了C一个新的活力,即运行时机制。这也就是说,OC代码或者C代码在编译过后的机器码并不能得出运行结果。而这个结果需要在运行的时候才能获得,这样就给了我们一个新的操纵代码的空间,也就是运行时。在OC中,运行时是一段提前写完的一个模块的代码。可以这么说,OC的运行时就是这段代码赋予的。 ...
2018-03-07 18:12:42
407
原创 Flutter Scaffold 实现抽屉,浮窗,底部栏,和顶部侧边栏
【代码】Flutter Scaffold 实现抽屉,浮窗,底部栏,和顶部侧边栏。
2025-03-12 19:11:59
106
原创 ios 小组件和数据共享
我的选择的appgroup 名字是 “group.testwidget1.demo”,这个不是包名,TestWidget2 里面的 TestDataUserDefalut 就是小程序同步数据代码,下面看一下主程序App同步代码,添加包括刷新通知等,讲解比较详细。TestWidget2文件是主要操作,小组件使用swiftUI布局,使用 AppIntent进行事件处理,TestDataUserDefalut 用的userdefault 和主程序数据同步,下面详细讲解。创建主工程就不必讲了。
2025-03-11 17:30:31
466
原创 swift 迁移到Swift6并发导致问题处理
访问主线程绑定的资源:例如 Core Data 的 NSManagedObjectContext(如果绑定到主线程)。静态方法或属性:静态成员通常不依赖于 Actor 的实例状态,可以标记为 nonisolated。@MainActor 是 Swift 5.5 引入的特性,确保你的项目支持 Swift 并发编程。计算属性:如果某个计算属性不依赖于 Actor 的状态,可以将其标记为 nonisolated。访问不可变状态:如果某个属性是只读的且不会改变,可以将其标记为 nonisolated。
2025-01-21 18:37:03
366
原创 IOS 关于ARKi使用
https://sketchfab.com/3d-models/coin-d41feb2c10ed4c06ad4b8134ccaba516 自己上去找模型。视觉算法 Vision识别。加载这个模型到场景中。
2024-12-27 09:59:19
837
原创 iOS SIMD框架数学基础向量,矩阵
中是操作 3D 空间对象的核心工具。向量常用于描述位置、方向、速度、力等。理解并使用向量,可以帮助你更好地进行空间计算和动画。基本格式:simd_floatNxM,N 是行数,M 是列数。是常用的向量类型,或者使用 SceneKit 的。simd框架是 Apple 提供的一组高效的数学库。,如 (x, y, z)。
2024-12-06 16:19:31
590
原创 iOS Arkit机器学习相关
最近在搞追踪运动物体,然后Arkit识别3d模型和图片,静止状态还不错,运动时候效果还是有点差,所以搞了下苹果的CoreML,苹果官网也有一些训练好的模型。,自己参考或者使用,提供一个数据标定网站。
2024-11-30 18:33:40
294
原创 iOS 创建一个私有的 CocoaPods 库
创建一个私有的 CocoaPods 库(pod)涉及几个步骤,包括设置私有的 Git 仓库、创建 Podspec 文件、发布到私有仓库等等。首先,在 GitHub、GitLab 或 Bitbucket 上创建一个新的私有仓库,假设仓库名为 MyPrivatePod。这里 MyPrivateRepo 是你私有 Pod 仓库的名字,后面的 URL 是你在步骤 1 中创建的 Git 仓库的地址。在 GitHub 上创建一个名为 MyPrivatePod 的私有仓库。初始化私有 Pod 仓库。
2024-07-24 09:54:20
934
1
原创 swift 关于IteratorProtocol 和 Sequence协议的使用
Sequence 是 Swift 中定义可以被迭代的集合或序列的协议。Sequence 提供了许多有用的方法和属性来操作和访问序列中的元素。迭代器行为协议实现 IteratorProtocol 的类型提供了一个方法来按需生成序列中的下一个值。它通常与 Sequence 协议一起使用,以定义可以被迭代的集合或序列。Sequence 协议的核心是一个方法:makeIterator(),它返回一个遵循 IteratorProtocol 的迭代器。返回序列中的下一个元素。如果没有更多元素可返回,则返回 nil。
2024-07-09 17:10:59
276
原创 iOS 硬件解码相关
这表示像素数据的布局和颜色信息。它通常用于在图像和视频处理中,尤其是在Core Image、AVFoundation和其他多媒体框架中。2 获取和创建:通常,您会通过使用CVPixelBufferCreate等函数来创建CVPixelBufferRef,或者通过其他API从图像或视频源中获取CVPixelBufferRef。6 与 AVFoundation 集成:在视频处理中,您可能会从AVCaptureVideoDataOutput等类中获取到CVPixelBufferRef,并在处理视频帧时使用它。
2023-10-20 13:39:27
219
原创 SwiftUI高级用法
1.frame布局2. postion 控件偏移3.layoutPrority 布局优先级4 GeometryReader读取上层视图提供的文件大小5 preference,anchorPreference 从里向外传值6 aligentguid 自定义对其方式,不同父布局子控件实现对齐
2022-10-23 02:39:15
450
原创 swiftUI 属性包装 @State @ObservableObject @EnvironmentObject
//// Converter.swift// TestUIKitApp//// Created by bob bob on 2021/3/10.//import Foundationimport SwiftUI/* @propertyWrapper 属性包装,可以理解为装饰器模式,比如 @State,@Binding,@ObjectBinding,@EnvironmentObject1 init(initialValue:),wrappedValue 和 projectedVal
2021-03-10 16:03:04
484
1
原创 swiftUI 生成饼状图
swiftUI 生成饼状图//// RecycleRoundView.swift// TestUIKitApp//// Created by bob bob on 2021/2/23.//import SwiftUIenum Animal:String { case cat case dog case fish case horse case hamster case rabbit case bird var col
2021-02-23 15:35:24
610
转载 VideoToolbox进行视频编解码
解码部分//// TestVideoBox.swift// TestSwiftUIApp//// Created by bob bob on 2021/2/19.//import Foundationimport VideoToolboxclass Decoder1: NSObject { var width:Int32 = 480 var height:Int32 = 640 var decodeQueue:DispatchQueue = Dispatch
2021-02-20 14:56:46
886
原创 Mac M1芯片安装ffmpeg 和 brew
Mac M1芯片安装Brew1 M1芯片 Mac 安装brew M1芯片 Mac 安装brew教程2 M1芯片 Mac 安装ffmpeg打开路径 如果不存在就自己生成路径cd /opt/local/src下载源码git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg打开文件cd ffmpeg执行脚本./configure --prefix=/opt/local编译make安装make install查看安装版本/op
2021-02-01 18:05:36
6814
3
原创 swift 关于闭包值捕获问题
闭包在其定义的上下文变量中捕获常量和变量,即使这些常量和变量的原域已经不存在了,闭包仍然可以在闭包函数体内引用和修改这些值。问题探究,到底原域消失之后,这些变量是复制了一份在闭包引用内,还是之前变量或者常量都复用func test(){ let myincr = increatmFunStr(Other: "BOB") print(myincr()) print(myincr()) print(myincr()) print(myincr(
2020-09-03 15:14:58
553
原创 Swift 泛型 链表实现栈
Swift 泛型 链表实现栈最近在学习Swift相关,然后用数据结构练手protocol StackProtocol { //协议使用范型 /*定义一个协议时,有的时候声明一个或多个关联类型作为协议定义的一部分将会非常有用。关联类型为协议中的某个类型(任意类型)提供了一个占位名(或者说别名),其代表的实际类型在协议被采纳时才会被指定。你可以通过 associatedtype 关键字来指定关联类型,当然你也可以用来设计api用来构建统一的处理结构。*/ associatedtype T
2020-09-03 11:12:15
224
原创 Java 线程池
一、四种线程池Java通过Executors提供四种线程池,分别为:1、new SingleThreadExecutor创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有任务按照指定顺序(FIFO, LIFO, 优先级)执行。2、new FixedThreadPool创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。3、new ScheduledThreadPool创建一个可定期或者延时执行任务的定长线程池,支持定时及周期性任务执行。4、new Cache
2020-07-27 13:47:09
195
原创 Android 多线程
最近开始做安卓项目,然而对多线程的理解和应用还是欠缺,最近就系统的学习一下public class TestThreadActivity extends BaseActivity { private ProgressBar progressBar; private TextView textView; private Button downloadBtn; private MyTask task; @Override protected void onCr
2020-07-25 18:01:30
152
原创 Swift 跳转到地图导航
1,生成schemes2 实现//地图类型enum MapForm { enum MapURI:String { //百度 case baiduMap = "baidumap://" //高德 case gaodeMap = "iosamap://" //苹果 case appleMap = "http://maps.apple.com/" //谷歌 case go
2020-06-08 17:59:58
966
原创 Swift 学习笔记
1 字符拼接成字符串 let catCharacters:[Character] = ["c","a","t","!"] var catString = String(catCharacters) catString = catString ?? "如果变量为空,使用默认值" print(catString) let enclose...
2020-01-17 17:28:42
209
原创 Swift 常见协议
1 Hashable 协议class m1:Hashable{ var name:String = "" var age:Int?// swift 4.1 版本被废弃了 var hashValue:Int{ get{// 按照自己的规则生成 return name.hashValue * age.ha...
2020-01-17 14:49:11
471
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人