自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Jmeter MAC 接口压力测试初次爬坑记录

据说Jmeter可以进行接口的压力测试,可以 装X ,又可以体现工作量. 不过这玩应着实难用 不是报奇怪的错误就是 填写一些接口地址的时候无法复制JMeter(5.4.3) java(1.8.0_221) 开始的java 版本是 17 但是再生成网页版的装X页面时候会报错.所以我就修改了JAVA_HOME 首先查看 所有JAVA版本 会打印出对应的版本地址 /usr/libexec/java_home -V export JAVA_HOME="你要使用的java版本地址" 打开 ~.

2022-05-12 11:05:49 272

原创 KVC 知识回顾

老知识回顾一下 Key Value Coding创建一个 macOS 项目 添加简单代码Person 中无age属性 依然可以调用setAge如果没有setAge 会去调用 _setAge如果两个set函数都没有会去判断accessInstanceVariablesDirectly 函数返回值该函数表示是否可以继续查找类中的成员变量进行赋值操作 默认YES返回NO程序终止 返回YES 则继续查找添加一些成员变量和 LOG 然后运行,看那些成员变量被赋值 就可得出系统对类...

2022-03-22 11:07:27 294

原创 swift 字典 lldb 打印

po 打印 打开终端 : echo "command regex pjson 's/(.+)/expr print(NSString(string: String(data: try! JSONSerialization.data(withJSONObject: %1, options: .prettyPrinted), encoding: .utf8)!))/'" >> ~/.lldbinit 这段bia进去然后查看你的~/.lldbinit文件会发现多了一行 自己命名的pjson..

2022-03-21 16:14:05 2747

原创 KVO 浅谈

最近看到一个题,KVO KVC实现原理。早前只是会使用,而且使用频率极低,通常遇到需要监听的情况,直接在属性 set方法里添加要处理的逻辑,直到看到这问题KVO: Key Value Observer作用: 键值监听通常情况的使用上一段代码person 在 addObserver 之后会发生变化可见,会在为WDPerson 动态生成一个新的子类NSKVONotifying_WDPersonperson1的isa指针 指向 NSKVONotifying_WDPerson...

2022-03-15 11:59:52 2570

原创 2021-05-24

iOS AuthenticationServices 真机调试兼容 10版本以下机型工程下 Build Phases - Link Binary With Libraries 中AuthenticationServices 从 Required 改为 Optional

2021-05-24 09:05:04 66

原创 Flutter 混合原生工程爬坑 1.pod库 2.script报错 2. /engine/ios does not exist 3.Permission denied

如题Xcode 添加 Run Script 选择脚本地址"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" build"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh" embed如果报错:Command PhaseScriptExecution failed with a nonzero exit code(我曾一度认为 是我的地址配置出了问题还尝试写 死

2020-06-12 10:31:11 326

原创 散列表学习记录以供日后复习之用

什么是散列表 散列表就是数组和链表的结合 (数组查询快增删慢 – 链表增删快查询慢 所以两者结合)table = &SideTables()[obj]; //从SideTables中取出sidetable来看下OC中的结构这是一个 StripedMap为模板的 泛型类型是 的散列表StripedMap 规范了SideTables的样式取出 Side tablehash 算法 保证不会数组越界包含 :自旋锁 引用计数表 弱引用表为什么用多张 而不是用一张

2020-05-27 11:40:36 182

原创 LLVM 浅见

LLVM做iOS的没有不知道的不哔哔了代码写完首先会经过编译器来进行编译首先Frontend 就是编译器先会通过 词法分析 语法分析 语义分析 生成中间代码(语言不同而选择不同的编译器)Clang 是基于LLVM 支持C、C++ 、OC的编译器前端部分Optimizer 进行优化 比如查找更快 体积更小 (不论什么语言什么平台 都一样 LLVM IR 有点像政府 不论你什么民族都归...

2020-04-22 12:07:01 162

原创 Cache 理解

Cache缓存可以提高代码运行效率以达到优化的效果,在runtime 的学习中就有涉及到 Cache的部分通过源码分析可以学习 苹果是怎么做的WDClassInfo不知道咋传需要这个东西 主要是仿Class 的结构山寨的。然后把要分析的Class 赋值给 这个仿的Clas 可以看出一些东西首先了解 runtime中 objc_class 的结构cache_t 结构体bucket_...

2020-02-19 13:12:04 117

原创 isa 和 联合体位域的理解

isa之前说过 实例对象isa 指向类对象 类的isa 指向 元类对象但是要 & 一个 ISA_MASK// ISA()方法用于返回类指针inline Class objc_object::ISA() { assert(!isTaggedPointer()); #if SUPPORT_INDEXED_ISA if (isa.nonpointer) { ...

2020-02-18 12:47:51 840

原创 load 和 initialize

load ,initialize 有啥区别load 是类在加载到内存的时候 被调用的 如果特别想在这个时候做什么可以调用直入主题上代码按照分类的说法应该是在分类中的方法最先调用的才对。但是现在每一个都有调用这是为啥?直接入手runtime源码 objc-os.mm文件 runtime初始化方法入手load_images 名字可见是要找的东西 jump进去load_images(co...

2020-02-14 00:31:37 189

原创 对象的分类和他们之间的关系

对象的分类实例对象 Instance 类相对 Class 元类对象 meta-class##三者之间的关系首先说说三者的结构实例对象 Instance 上篇说过,通过clang 编译可得出结论结构体中「只」会存储isa成员变量类对象 Class 也就是类 查看 objc_runtime_new.h 可见isasuperclasscache_t 方法缓存class...

2020-02-11 15:41:50 193

原创 一个NSObject 对象占用多少内存

在main.m 中初始化 NSObject 对象 Jump to Definition 可见类的定义clang -rewrite-objc main.m -o main.cpp编译一下生成C++文件可见(IMPL Implementation 实现;履行;安装启用)对比可发现 NSObject对象在内存中就是一个结构体alloc 相当于分配存储空间给这个结构体###ISA是...

2020-02-10 11:35:23 233

原创 Xcode 模拟器后面出现不明文字 解决办法

sudo killall -9 com.apple.CoreSimulator.CoreSimulatorServicerm -f ~/Library/Developer/CoreSimulator/Devices

2015-09-08 09:03:11 369

空空如也

空空如也

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

TA关注的人

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