首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
J东
掘友等级
iOS搬砖小弟
|
字节跳动
做饭不好吃的程序员不是好BF
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
10
文章 10
沸点 0
赞
10
返回
|
搜索文章
最新
热门
iOS中的锁
本文主要通过Objective-C语言进行体现,其实跟Swift也差不多。 1. 基本概念 锁的存在主要就是解决资源抢夺的问题,在iOS中的锁基本分为两种,分别是互斥锁和自旋锁,其实读写锁也可以算一种,但是读写锁也是一种特殊的自旋锁。另外对于条件锁、递归锁、信号量基本都是上层的…
iOS Objective-C 方法的本质
作为一名iOS开发人员,说去Runtime一定都很熟悉,Runtime承载了Objective-C的动态特性,也是使Objective-C成为动态语言的根本。Runtime 是一套由C、C++和汇编编写的Api,其目的是为我们的OC提供动态特性,为了执行效率更高,稳定性更强,所…
iOS Objective-C alloc 调用前会调用id objc_alloc(Class cls)的原因
通过使用MacoView查看可以系统绑定了objc_alloc这个符号2.源码更换符号绑定的地方(猜想,不一定是apple真正的实现)在readImage的时候,如果出现错误在修复的时候会调用
mac 修复损坏文件
sudoxattr-r-dcom.apple.quarantine/Applications/xxx.appsudospctl--master-disable
iOS Objective-C 类原理
1. 类 根据前面几篇文章的分析,我们知道Objective -C的对象通过isa与类关联起来,那么到底什么是类呢?下面我们来探索一下。 在这篇文章中我们说道Class在底层是一个objc_class那么它到底是如何实现的呢?我们来到objc源码中一探究竟。我们知道objc_c…
通过Clang 看OC对象的本质
1. Clang编译 创建一个MacOS工程,我们编译里面的main.m文件。 编译命令:clang -rewrite-objc main.m -o main.cpp,通过该命令可以将main.m编译成一个cpp文件。 我们再次进行全局 搜索 typedef struct ob…
iOS Objective-C isa
2. isa的结构 uintptr_t 实质上是:typedef unsigned long uintptr_t; 长整形,占8个字节,64位,所以isa的位域也是64位。 例如,如果对象的引用计数为 10,那么 extra_rc 为 9。如果引用计数大于 10, 则需要使用到…
iOS Objective-C isa 走位分析
1. 判断isa是对象的第一个属性 可以看出类的指针与类对象第一个属性去掉低3位与高17位的值是完全一样的。同时也验证了:isa的 shiftcls 存储的是类指针的值。 类和对象通过isa关联,isa为类对象的第一个属性。 经典图解:(图中虚线代表isa指向关系,实线代表类的…
iOS OC 对象的内存对齐原则
由以上打印结果可以看出 class_getInstanceSize 和malloc_size获取到的内存大小不一样,那么是什么导致的两者获取同一对象的内存大小不一样呢?我们下一步继续探索。 isa -- 8字节,name -- 8字节, age -- 4字节, height -…
iOS lldb读取内存段,查看对象的结构
lldb命令xp读取当前对象在内存中的地址(iOS小端模式)x:16进制读取x/5xgp按照内存段读取,读5段,5可变,x:16进制读取memoryreadViewMemoryDebug->Debug
下一页
个人成就
文章被点赞
7
文章被阅读
14,441
掘力值
309
关注了
11
关注者
9
收藏集
0
关注标签
20
加入于
2019-12-11