草庐IT

OC与Swift的相互调用

OC调用Swift方法1、在BuildSettings搜索Packaging,设置DefinesModule为YES 2、新建LottieBridge.swift文件,自动生成桥ProductName-Bridging-Header.h 3、在LottieBridge.swift中,定义Swift类继承于OC类,声明@objcMembers或@objc,实现相关方法importUIKitimportLottie//所有方法/属性声明@objcMembersclassMyLottieView:UIView{privateletanimationView=LottieAnimationView()

TTL、RS232、RS485的区别和简介

TTL,RS232,RS485都是一种逻辑电平的表示方式TTL:TTL指双极型三极管逻辑电路,市面上很多“USB转TTL”模块,实际上是“USB转TTL电平的串口”模块。这种信号0对应0V,1对应3.3V或者5V。与单片机、SOC的IO电平兼容。不过实际也不一定是TTL电平,因为现在大部分数字逻辑都是CMOS工艺做的,只是沿用了TTL的说法。我们进行串口通信的时候从单片机直接出来的基本是都是TTL电平。TTL电平:全双工(逻辑1:2.4V--5V逻辑0:0V--0.5V)1、硬件框图如下,TTL用于两个MCU间通信2、‘0’和‘1’表示 RS232:是电子工业协会(ElectronicIndu

RabbitMQ 过期时间(TTL)

TTL,TimetoLive的简称,即过期时间,RabbitMQ可以对消息和队列设置TTL。       RabbitMQ支持设置队列的过期时间和消息的过期时间。如果设置队列的过期时间则队列中所有的消息都有相同的过期时间。如果设置消息的过期时间则每条消息的过期时间则可以不同。如两个方法一起使用,则消息的TTL取最小的数值为重。消息在队列中的生存时间一旦超过了TTL值,则会变成死信,死信消息将被从原有队列中移除。设置队列的过期时间       针对队列设置过期时间RabbitMQ提供了三种设置方式:代码定义队列时设置x-message-ttl属性通过Policy方法设置通过调用HTTPAPI的方

iOS从UI内存地址到读取成员变量(oc/swift)

开发调试时,我们发现bug时常首先是从UI显示发现异常,下一步才会去定位UI相关连的数据的。XCode有给我们提供一系列debug工具,但是很多人可能还没有形成一套稳定的调试流程,因此本文尝试解决这个问题,顺便提出一个暴论:UI显示异常问题只需要两个步骤就能完成定位工作的80%:定位异常UI组件的内存地址。利用内存地址读取其成员变量。定位异常UI组件内存地址查看UI组件内存的方法还是蛮简单的,这里简单介绍。Xcode有提供可视化的UI查看工具:“DebugViewHerarchy”,查看右侧辅助栏第四个选项(键盘快捷键cmd+opt+4)。感兴趣的还可以去了解Lookin、chisel、HML

Swift与OC的混编

一些场面话在一位前辈的博客里看到了关于iOS开发的各种语言的混编,浅浅学习一下怎么使用。不得不说语言混编的开发者是真的🐮🍺Swift中用OC混编新建一个Swift文件创建一个OC的类选择language为OC继续往下走,会跳出这个界面,直接选择蓝色这个就可以然后项目里会出现这个文件引入我们新建的OC文件很简单,直接在Swift中使用OC-Bridging-Header文件中import我们的Test.h即可在main中使用这个类测试一下////main.swift//Swift中使用OC////Createdby王璐on2023/7/11.//importFoundationprint("He

斐讯k2路由器ttl刷机

斐讯k2路由器ttl刷机准备工具螺丝刀撬棒utb转ttlch340网线usb转网口程序烧录夹3p单排间距2.54mm准备软件breed后台https://breed.hackpascal.net/https://breed.hackpascal.net/breed-mt7620-phicomm-psg1208.binftfphttps://pjo2.github.io/tftpd64/puttyhttps://www.chiark.greenend.org.uk/~sgtatham/putty/latest.htmlhttps://the.earth.li/~sgtatham/putty/la

Redis的TTL(Time To Live)说明

说明Redis的TTL(TimeToLive)是指键值对的过期时间,当键值对的TTL过期后,Redis会自动删除该键值对。合理设置TTL可以有效地控制Redis中键值对的存储时间,从而提高Redis的性能和稳定性。以下是RedisTTL的合理设置建议:根据业务需求设置TTL。不同的业务需求对键值对的存储时间有不同的要求,例如,对于一些频繁更新的数据,可以设置较短的TTL,而对于一些不经常更新的数据,可以设置较长的TTL。避免设置过长的TTL。如果设置过长的TTL,会导致Redis中存储的数据越来越多,从而影响Redis的性能和稳定性。通常建议将TTL设置为几分钟到几小时之间。设置适当的TTL数

华为悦盒Q21和EC6109U-Hi3798MV200-已ROOT和ADB当贝桌面TTL线刷烧录固件包

华为悦盒Q21和EC6109U-Hi3798MV200-已ROOT和ADB当贝桌面TTL线刷烧录固件包特点:1、适用于对应型号的电视盒子刷机;2、开放原厂固件屏蔽的市场安装和u盘安装apk;3、修改dns,三网通用;4、大量精简内置的没用的软件,运行速度提升,多出大量的存储空间;5、去除应用安装限制;6、支持开机自启动、开机密码锁、儿童应用锁、应用隐藏、开机自动进入HDMI等各种花式功能;固件修改内容:1.华为Q21与EC6109U通刷,并且已经ROOT,打开ADB2.修复遥控器待机后无法进入桌面一、准备工作1、准备工具:TTL线、电脑1台、网络;安装步骤(1)破解之前线拆开盒子、将ttl线连

OpenCV+VS出现:0x00007ff9ab344fd9 处(位于 oc.exe 中)有未经处理的异常: microsoft c++ 异常: cv::exception,位于内存位置

        在确定属性管理器配置没问题的情况下,不妨先试一下这个简单的解决方法:        重点1:路径要使用双斜杠!!!        重点2:imread()这个括号里的所有字母和双引号和斜杠自己一个一个敲进去!!!        (真的是浪费了好几个小时解决这个问题,没想到就是因为懒~_~)问题解决的话点赞评论给反馈QAQ~测试代码如下:#include#includeusingnamespacestd;usingnamespacecv;intmain(){ Matsrc=imread("E:\\test.jpg");//这个括号的所有字符请一个一个敲进去!!! namedWin