自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (2)
  • 收藏
  • 关注

原创 问卷星调查问卷自动填写问卷的js(格式化显示版)

问卷星调查问卷自动填写问卷的js

2024-02-21 11:32:05 409

原创 Metal入门学习:绘制纹理图片

Metal渲染图片

2023-05-21 16:58:19 667

原创 Metal入门学习:绘制渲染三角形

Metal渲染图形

2023-05-20 23:33:33 774

原创 Metal入门学习:GPU并行计算大数组相加

Metal入门学习

2023-05-20 21:10:21 867

原创 Swiftui:自定义NavigationView

Swiftui:自定义NavigationView

2022-08-27 16:51:22 1062

原创 Swiftui:自定义Tabbar

Swiftui:自定义Tabbar

2022-08-21 21:43:29 1638 2

原创 Swiftui:使用PreferenceKey联动改变控件的大小(GeometryReader)

Swiftui:使用PreferenceKey联动改变控件的大小(GeometryReader)

2022-08-13 17:36:58 449

原创 Swiftui:使用PreferenceKey将内层结构值往外传

Swiftui:使用PreferenceKey将内层结构值往外传。

2022-08-13 17:35:23 433

原创 Swiftui:自定义形状Shape

Swiftui:自定义形状Shape。

2022-08-13 16:57:18 868

原创 Swiftui:AnyTransition自定义动画

Swiftui:AnyTransition自定义动画。

2022-08-13 16:55:28 572

原创 Swiftui:Button控件自定义ButtonStyle

Swiftui:Button控件自定义ButtonStyle。

2022-08-10 22:18:30 612

原创 SwiftUI: ViewModifier常见的使用

SwiftUI: ViewModifier常见的使用。

2022-08-10 22:17:29 535

原创 高频面试算法:leetCode算法(swift实现二)

1、算法一:删除重复的元素///MARK: remove dulplicate///给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。///由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。///将最终结果插入 nums 的前 k 个位置后返回 k 。///不要使..

2022-02-27 20:32:48 2560

原创 高频面试算法:leetCode算法(swift实现一)

1、算法一:给你一个数组,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。a、例如:[2,5,3,7,4],k=2;结果为:[7,4,1,5,3]///inout在swift中表示传地址进入func rotate( arr:inout [Int],k:Int){ for _ in 0..<k{ let lastV = arr[arr.count-1] for index in 0..<arr.count-1{ let last =..

2022-02-24 14:12:18 150

原创 iOS(swift)UILable简单方式实现字体投影和颜色渐变

1、代码实现 ///颜色渐变 func textLabel(){ let label = UILabel() self.view.addSubview(label) label.font = UIFont.systemFont(ofSize: 30) label.frame = CGRect(x: 100, y: 300, width: 200, height: 50) let text = "文字添加投影.

2022-02-24 10:55:05 2938

原创 iOS 未安装微信,审核被拒绝的解决方式

iOS swift 微信App授权登录/网页版授权登录一、向微信开放平台申请创建应用1、申请(微信开放后台)链接:https://open.weixin.qq.com/cgi-bin/frame?t=home/app_tmpl&lang=zh_CN接入指南:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Access_Guide/iOS.html二、接入后初始化并进行授权登录的操作1、引入头文件,比如在桥接

2021-11-21 18:42:17 2422

原创 iOS 内存管理知识梳理

iOS 内存管理知识梳理一、内存泄漏1、检测方式:Memory Leaks、Alloctions、Analyse、Debug Memory Graph、MLeaksFinder(前四种都比较麻烦,需要不断地调试运行,第五种是腾讯阅读团队出品,效果好一些)2、泄漏类型:a、Leak Memory这种是忘记Release操作所泄露的内存;b、Abandon Memory这种是循环引用,无法释放掉的内存二、MRC下重写Setter/Getter1、重写Setter-(void)setBrand

2021-08-28 15:29:39 241

原创 iOS 多线程知识梳理

iOS 多线程知识梳理一、进程和线程1、进程:是一个具有一定独立功能的程序关于某次数据集合的一次运动活动,它是操作系统分配资源的基本单元;是指在系统中正在运行的一个程序,一段程序执行的过程,可以理解为手机上的一个app;进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内,拥有独立运行的全部资源。2、线程:程序执行流的最小单元,线程是进程中的一个实体;一个进程要想执行任务,必须至少有一条线程,应用程序启动的时候,系统会默认开启一条线程,也就是主线程。进程和线程的关系:线程是进程的执行单元,

2021-08-16 22:15:50 208

原创 iOS 数据结构与算法

iOS 数据结构与算法一、数据结构1、集合结构:无序、无重复的元素结构,可看成特殊的数组(没有顺序,并且数据元素不重复)2、线性结构:a、集合中必然存在一个唯一的一个第一元素;b、集合中必然存在一个唯一的一个最后元素c、除了最后一个元素之外,其他元素均有唯一的后继d、除了第一个元素之外,其他元素均有唯一的前驱3、树形结构:元素存在一对多的树形关系的数据结构,是重要的非线性数据结构4、图形结构:节点的前驱和后继的个数没有限制,类似这样的结构称之为图形数据结构二、数据

2021-07-04 18:38:07 880

原创 iOS UI相关知识梳理

iOS UI相关知识梳理一、UIView和CALayerUIView为CALayer提供内容,以及处理触摸事件,参与响应链CALayer负责显示内容二、事件传递和响应链如果事件一直传递到UIApplication还是没处理,那么会忽略掉- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event;- (UIView *)pointInside:(CGPoint)point withEvent:(UIEvent *)event

2021-05-29 23:47:55 269 1

原创 iOS 设计模式

iOS 设计模式一、编程中的六大设计原则1、单一职责原则:一个类只负责做一件事比如:CALayer:动画和视图的展示;UIView:事件传递和视图响应2、开闭原则:对修改关闭,对扩展开放;考虑扩展性,不在原来的基础上来回修改3、接口隔离原则:使用多个协议,而不是一个庞大臃肿的协议(eg:UITableViewDataSource、UITableViewDelegate)4、依赖倒置原则:抽象不依赖于具体实现、具体实现可依赖于抽象;调用接口感觉不到内部实现5、里氏替换原则:父

2021-05-17 22:04:15 143

原创 iOS 网络知识

iOS 网络相关一、http协议1、描述是一种详细规定了浏览器和万维网服务器之间互相通信的规则,是传送万维网文档的数据传送协议。http是基于tcp的应用层协议。2、请求报文//例如//请求行:POST link/test.html HTTP/1.1//请求头部:Host:www.user.com//表明该对象所在的主机Content-Type:application/x-www-form-urlencoded//内容类型Connection:Keep-Alive//告

2021-04-06 22:55:57 184

原创 iOS原生Socket编程

iOS原生Socket编程一、Socket连接原理1、原理流程图二、客户端编程代码1、初始化准备数据//引入头文件#import <sys/socket.h>#import <netinet/in.h>#import <arpa/inet.h>//htons将一个无符号整型数据转为网络字节顺序,不同cpu是不同的顺序#define SOCKET_PORT htons(8040)//ip地址:以本地为例子#define IP_ADRR "1

2021-03-25 19:15:27 333

原创 iOS 性能优化知识梳理

iOS 性能优化知识梳理1、概述在性能优化中,最具参考的属性是FPS(Frames Per Second),其实就是屏幕刷新频率。苹果推荐iPhone的刷新频率是每秒60次,即每秒钟刷新屏幕60次。该属性在静态页面值为0,不具有参考价值,在动画或者滑动的时候,FPS才具有参考价值,FPS的值大小反应页面的流畅程度,当低于45时页面表现得比较卡顿。2、图层混合和检测图层混合每一个layer是一个纹理,所有的纹理都以某种方式堆叠在其顶部。一个屏幕像素点,GPU需要算出怎么混合这些纹理来获得像素

2021-03-11 21:01:19 1222 1

原创 Runtime知识梳理

iOS Runtime知识梳理源码可在这里查看:https://opensource.apple.com/tarballs/objc4/一、isa的理解1、对象指向指向它的类对象,从而找到对象的方法。对象、类、元类的关系如下图所示:[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iZehn30A-2、类型a、纯指针:指向内存地址b、NON_POINTER_ISA:指向内存地址和一些其他信息二、class_rw_t和class_ro_t的理解1、

2021-02-25 10:30:38 162

原创 Runloop知识梳理

Runloop知识梳理源码可在这里查看:https://opensource.apple.com/tarballs/CF/1、NSTimerNSTimer解析:NSTimer其实是CFRunloopTimerRef,他们之间是对象桥接(toll-free bridged)的关系。一个timer添加至runloop中,runloop会为其注册好重复时间点的事件,比如12:00,12:10,12:20等。但是,runloop为了节省资源,并不会在准确的时间点回调timer事件,tolerance属

2021-02-18 22:55:35 234

原创 OpenGL ES加载纹理(GLSL)

iOS OpenGL ES加载纹理(GLSL)一、准备工作1、创建UIViewController控制器2、创建UIView3、将创建的UIView添加至UIViewController中4、下面的方法是在创建的UIView中调用(依次调用二中2-7的方法)5、准备一张图片(纹理)6、UIView文件中的变量定义//导入框架:#import <OpenGLES/ES2/gl.h>@property (nonatomic,strong) CAEAGLLayer *mEaglL

2021-02-12 23:49:14 473

原创 OpenGL ES加载纹理

iOS OpenGL ES加载纹理(GLKit)1、准备工作创建UIViewController文件并继承GLKViewController遵守协议GLKViewDelegate实现协议方法**- (void)glkView:(GLKView )view drawInRect:(CGRect)rect*定义属性:*@property (nonatomic,strong) GLKBaseEffect mEffect;2、初始化上下文对象和被绘制对象参数的设置- (void)setUpCont

2021-02-08 11:57:11 257

原创 iOS-Block知识梳理

Block知识梳理1、什么是block将函数和上下文封装起来的对象/*** 比如**/void (^block)(NSInteger) = ^(NSInteger age){ NSLog(@"%zd",age);};block(18);在ViewController.m中编写了上面的block,然后使用(xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc 文件名[这里的文件名是ViewController.m

2021-02-06 16:58:58 163

原创 一台电脑(window操作系统)模拟zookeeper+activemq集群,专业术语称为伪集群模式

zookeeper下载和配置1、首先在网上下载zookeeper-3.4.8.tar.gz软件压缩包     下载网址http://archive.apache.org/dist/zookeeper/2、解压zookeeper-3.4.8.tar.gz,并复制3份,类似如下3、在\zookeeper1\conf\文件下创建zoo.cfg文件,在\zookeeper1目录下新建d...

2018-08-24 17:30:06 607

原创 详细的window环境下循环运行某个程序的脚本代码以及步骤

以运行app_hmini.exe程序为例 1、文件目录:2、步骤(1)新建sleep.vbs文件(文件名称不一定是sleep,但是后缀名必须是.vbs)         文件这句代码:WScript.sleep 5000        (这里设置每隔5s运行一个程序)         保存后将文件复制到C:\Windows\System32目录下(2)新建xh....

2018-08-24 10:59:33 3639

原创 问卷星调查问卷自动填写问卷的js

以谷歌浏览器为例子1、打开浏览器2、访问问卷网址3、按键盘F124、点击sources,然后new snippet5、然后添加下面的js6、点击倒三角(或者ctr+enter)//随机选择答案的函数function random(t){    var num = Math.random()*t;    num = Math.floor(num);    return num;}//获取全部问题va...

2018-04-10 17:51:54 17477 6

java web三大框架的jar包2-3之间的版本

利用java语言开发网页的工具类,其中包括spring、struct2、hibernate三大框架需要的jar工具包

2018-01-10

LZ78算法实现对任意字符串的压缩与解压

运行程序之后输入任意的字符串,将字符串转化成二进制数字字符串,然后利用LZ78算法实现对二进制字符串压缩解压,最后再恢复原来的字符串

2018-01-10

空空如也

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

TA关注的人

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