commons apache io

iOS:为什么OC 是动态语言?

动态类型 动态绑定 动态加载 动态类型:即运行时再决定对象的类型。编译阶段,任何对象都可以指定为 id 类型,等到运行时,才知道具体的类型。 动态绑定:基于动态类型,即某个对象在确定后,其属性和响应消息也被完全确定。 动态加载:1.动态加载资源,2可以动态添加类,方法等 ......
语言 动态 iOS

iOS:发送消息机制

消息发送阶段:调用 objc_msgSend 函数,进行一些内部逻辑处理。会涉及到cache_list 和 method_list 等。 动态方法解析:允许开发者动态创建方法。 消息转发:进入消息转发阶段 ......
机制 消息 iOS

iOS:消息转发机制

测试类 @interface People () @property (nonatomic, strong) Car *car; @end @implementation People - (instancetype)init { self = [super init]; if (self) { s ......
机制 消息 iOS

iOS:Copy 关键字

Copy经常使用的地方是在对属性进行描述的时候。 经常使用Copy的类型,NSString, NSArray, NSDictionary, Block 等 NSString、NSArray, NSDictionary 使用copy的原因 NSString → NSMutableString NSAr ......
关键字 关键 Copy iOS

iOS:Weak指针的原理

Runtime 维护了一张weak表,用来存放对象的weak指针 weak表是一张哈希表,对象的指针为key,value为指向该对象的weak指针数组。 当对象被释放前,会查询weak表中的所有weak指针,并依次指向nil。 ......
指针 原理 Weak iOS

iOS:AutoReleasePool

具体参考文章 AutoRelease 是依靠 AutoreleasePoolPage 来进行 push 和 pop 进行工作的 AutoreleasePoolPage 为双向链表,parent 字段指向上一层,child 指向下一层 每个 AutoreleasePoolPage 的大小为 4096 ......
AutoReleasePool iOS

iOS:runloop 相关

一个 Runloop 包含了多个 mode 一个 mode 包含了若干个 source0/source1/time/observer Runloop 启动时只能选择其中一个 model 作为当前 model Runloop 常用的 Model 1. UIInitializationRunLoopMo ......
runloop iOS

iOS:响应链的原理

iOS中不是所有的对象都能响应的,只有继承 UIResponder 的对象才能进行响应处理事件,称之为响应者对象。 常见的响应者对象有:UIView, UIViewController, UIApplication 响应链的流程: 1. 当产生某一个触摸事件的时候,这个触摸事件回添加到UIAppli ......
原理 iOS

iOS:字典存储数据的原理

注:适用于Java 等其他语言的技术原理 存储的逻辑 1. 字典底层有一个数组,靠数组来存储数据; 2. 将 key 进行 hash 算法。得到 `hash值`; 3. 将 `hash值` 与 `数组的长度` 进行`位与运算`, 得到的结果为数据应该存储的位置; 4. 找到数组对应的位置,然后设置对 ......
字典 原理 数据 iOS

iOS:KVO 的实现原理

KVO 是依赖 kvc 进行实现的。主要是依赖了 isa_swizzling 来实现的。 当对一个类第一次进行观察时,系统会动态的创建一个派生类 修改观察的对象的 isa 指针指向,指向新建的派生类 派生类中,系统会重写观察的属性的 set 方法 然后通过 kvc 的willChangeValueF ......
原理 iOS KVO

iOS:use_frameworks 的作用

Swift 项目中的 Podfile 中默认会有一个 use_frameworks!,本篇说一下 use_frameworks!。 1. Pod 引入组件的类型 iOS 使用 Pod 引入组件,主要引入以下类型的组件。 类型 1:静态库类型组件。可以为 `.a` 或 `.framework` 类型的 ......
use_frameworks frameworks 作用 iOS use

ios:设备型号获取

// 当前设备型号 static var deviceModel: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) le ......
型号 设备 ios

iOS:常用的正则表达式

转载自Swift 正则表达式 - 简书 (jianshu.com) 数字:^[0-9]*$ n 位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0- ......
正则 表达式 常用 iOS

iOS:Cocoapods 常用命令

命令 | 描述 | 安装与卸载 | sudo gem install cocoapods | 安装 cocoapods sudo gem install cocoapods -v 1.10.0 | 安装 cocoapods 1.10.0 版本 sudo gem uninstall cocoapods ......
Cocoapods 命令 常用 iOS

下载Apache软件基金的软件和项目(Hadoop相关组件)

一、下载Hadoop相关组件,可以到Apache软件基金的资源目录: Apache 分发目录地址:https://dlcdn.apache.org/ 二、下载软件 方法一:在页面中找到需要下载的软件目录,点击进去,选择对应的版本就可以直接下载。 方法二:在上面的地址栏中直接加上对应的组件名称,进入后 ......
软件 组件 基金 项目 Apache

如何利用IPA/iOS/苹果签名工具在Mac和win电脑上进行重签名

推荐使用766signer这个工具,他是一款IPA/iOS/苹果重签名工具,支持windows电脑和MacOS苹果电脑,并且带有大量实用功能。 下载:wwa.lanzoui.com/b010l6c2d 软件特性与功能: 1.支持随意变更:图标icon,BundleID 、应用名称、版本号等信息且不影 ......
苹果 工具 电脑 IPA iOS

IO流

内存中不能永久性的存储数据,程序停止,数据丢失,应放到硬盘 的文件中 以程序为参照物 IO流分类: 纯文本文件:txt,mad 小结: ......

安卓APP开发和iOS开发的区别

安卓APP开发和iOS开发在技术、设计和开发过程中有许多不同之处,下面是其中的一些区别: 编程语言:安卓应用程序通常使用Java或Kotlin编写,而iOS应用程序则使用Swift或Objective-C编写。 设计风格:安卓应用程序通常采用Material Design风格,而iOS应用程序则使用 ......
APP iOS

基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux

2023年目前要说最热的点,肯定是ChatGPT了。 ChatGPT官方提供的网页版本,还有需要科*上网,很多人都会基于此进行封装。 现在是移动互联网时代,基于手机APP的需求还是很大的。 所以,今天给大家推荐一个ChatGPT客户端开源项目,兼容苹果和安卓手机、PC。 项目简介 这是基于C#开发的 ......
客户端 ChatGPT Windows 客户 MacOS

IOS13~14.8越狱

IOS13~14.8越狱 0x01安装unc0ver https://unc0ver.vip/,如果下载不了就用爱思助手,不过需要登录爱思助手 0x02越狱 首先在设置里信任该APP,然后点击进去直接点Re-Jailbreak,然后点击OK 0x03安装插件 这个时候就已经越狱了,但是不能访问系统目 ......
14.8 IOS 13 14

com.alibaba.com.caucho.hessian.io.HessianFieldException: XxxDTO#xxfield: com.alibaba.com.caucho.hessian.io.StringValueDeserializer: unexpected object java.lang.String

昨晚例行上线后,今天早上生产发现一个bug。 什么bug呢?先看下面的dubbo接口 List<TaskDTO> listTask(TaskQuery query); 其中,TaskDTO里有个field叫price。这次上线时,我们一个小伙把price的数据类型由String改为BigDecima ......

Apache Tomcat 跨站脚本漏洞CVE-2022-34305

【预警类型】中危预警 【预警内容】 Apache Tomcat跨站脚本漏洞CVE-2022-34305 漏洞编号:CVE-2022-34305 一、漏洞概述 Apache Tomcat是美国阿帕奇(Apache)基金会的一款轻量级Web应用服务器。该程序实现了对Servlet和JavaServer ......
脚本 漏洞 Apache Tomcat 34305

Apache Tomcat拒绝服务漏洞 CVE-2022-29885

【预警类型】中危预警 【预警内容】 Apache Tomcat拒绝服务漏洞 CVE-2022-29885 漏洞编号:CVE-2022-29885 一、漏洞概述 2022年7月2日,安全团队监测到一则Apache Tomcat 拒绝服务漏洞的信息。该漏洞是由于Tomcat开启集群配置中存在缺陷,攻击者 ......
漏洞 Apache Tomcat 29885 2022

open和fopen无缓冲IO与有缓冲IO

在UNIX系统中,open和fopen系统调用都用于打开文件,但他们的缓冲机制不同。 open系统调用是一种底层的系统调用,用于打开文件并返回一个文件描述符。它不涉及任何缓冲机制,所以是无缓冲IO。 fopen是一个更高层的函数,它是基于标准C库实现的,提供了更丰富的文件操作函数。fopen函数打开 ......
fopen open

苹果证书在线制作,p12生成,ios打包证书

开发ios打包需要两个文件,一个是p12后缀的证书,另一个是mobileprovision后缀的描述文件 mobileprovision文件通过苹果开发者中心网站上就可以创建 p12文件需要苹果电脑的钥匙串工具,或者openssl证书工具制作,如果我没苹果电脑又不想装openssl工具咋办呢,那么懒 ......
证书 苹果 ios 12

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描

MASA MAUI Plugin IOS蓝牙低功耗(三)蓝牙扫描 项目背景 MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA团队开 ......
功耗 Plugin MASA MAUI IOS

MASA MAUI Plugin (七)应用通知角标Android+iOS

MASA MAUI Plugin (七)应用通知角标(小红点)Android+iOS 背景 MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。所 ......
Android Plugin MASA MAUI iOS

MASA MAUI Plugin (十)iOS消息推送(原生APNS方式)

MASA MAUI Plugin (十)iOS消息推送(原生APNS方式) 背景 MAUI的出现,赋予了广大Net开发者开发多平台应用的能力,MAUI 是Xamarin.Forms演变而来,但是相比Xamarin性能更好,可扩展性更强,结构更简单。但是MAUI对于平台相关的实现并不完整。所以MASA ......
消息 方式 Plugin MASA APNS

golang 编译问题:gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[string]gorm.Stmt) as type map[string]*gorm.Stmt in struct literal

golang 执行 sh build 来编译项目时,发现了有报错 pkg/mod/gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[s ......
gorm string dbresolver Stmt map