E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
objC
七 OC底层原理 cache_t 方法缓存
前言在前面几篇文章中我们分别探索了
objc
_class中的isa,superClass,bits.现在我们来看看cache_t中到底有什么作用一.cache_t的结构在这段类结构代码中,我们可以看到类结构中存在一个
可乐冒气
·
2023-10-25 15:52
iOS底层探索-内存管理-内存管理方案(TaggedPointer&NONPOINTER_ISA)
TaggedPointer2020年WWDC【本】老头讲的关于底层的改变Intel架构在Intel架构上,最后一位表示Taggedpointers标志位,最后接下来的三位代表Tag数据类型,当Tag的值是小于等于6(>_
OBJC
_TAG_PAYLOAD_LSHIFT
spyn_n
·
2023-10-25 09:25
iOS-底层(3):
objc
4-781 源码编译及调试
本文主要是通过将
objc
4-781的源码编译成功,然后在源码中进行调试,便于跟踪方法的底层实现流程准备工作环境版本&最新
objc
源码macOS10.15Xcode11.4
objc
4-781依赖文件下载需要下载以下依赖文件
恍然如梦_b700
·
2023-10-25 07:59
是否能够响应方法:respondsToSelector的实现
首先附上常见类和类型的定义:typedefstruct
objc
_class*Class;struct
objc
_object{Class_Nonnullisa
OBJC
_ISA_AVAILABILITY;}
Even会编程
·
2023-10-24 14:15
你不知道的TaggedPointer
一、环境介绍mac版本:MacMojave10.14
objc
版本:
objc
runtime750二、为什么要使用TaggedPointer?
fanglaoda
·
2023-10-24 13:50
swift Uivew 添加点击事件
funcyx_setTapActionWithBlock(tapBlock:@escaping()->Void){self.isUserInteractionEnabled=truevartapGesture=
objc
_ge
大鹏你我他
·
2023-10-24 11:03
OC方法调用流程
基本概括OC中的方法调用其实都是转成了
objc
_msgSend函数的调用,给receiver(方法调用者)发送了一条消息(selector方法名)三大阶段消息发送(当前类,父类中查找)动态方法解析消息转发
衣一口田
·
2023-10-24 10:33
类、分类的加载
上篇文章应用程序加载分析了dyld到main()函数的大体流程,这篇文章主要分析_
objc
_init()到类的处理流程。1.
spades_K
·
2023-10-24 10:35
iOS给类设置属性,是否禁用第三方键盘
property(nonatomic,assign,class)BOOLuseSystemKeyBoard;+(void)setUseSystemKeyBoard:(BOOL)useSystemKeyBoard{
objc
_setAssociatedObject
雾霭天涯
·
2023-10-24 05:59
swift报错Fatal error: UnsafeMutablePointer.deinitialize with negative count
解决办法:1.修改数组在同步队列中letqueue=DispatchQueue(label:myqueue)queue.sync{myArray.append(...)}2.在数组修改前后加锁
objc
_sync_enter
is_E
·
2023-10-24 05:36
iOS底层面试题(中篇)
class方法和
objc
_getClass方法有什么区别?1:什么是内省?在计算机科学
编程怪才_凌雨画
·
2023-10-24 04:12
iOS开发系列--IOS程序开发概览
概览终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、
ObjC
等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序。
PM_rcount
·
2023-10-24 04:41
iOS
objective-c
IOS
ios开发
objective-c
xcode
objc
_msgSend分析之快速查找
本文的主要目的是理解
objc
_msgSend的方法查找流程,上一篇文章
objc
_class中cache原理分析中,分析了cache的写入流程,在写入流程之前,还有一个cache读取流程,即
objc
_msgSend
辉辉岁月
·
2023-10-23 23:46
底层原理:dyld和
objc
关联
我们在之前的探究过程中发现dyld加载中会调用到_
objc
_init,这篇文章我们从_
objc
_init开始研究其具体做了什么。
8ef7f923f5bb
·
2023-10-23 17:27
分类中添加属性的实现原理
{key:
Objc
Association}
Objc
Association:关联对象
初灬终
·
2023-10-23 12:48
iOS weak 底层实现原理(一):DisguisedPtr
定义位于:ProjectHeaders/
objc
-private.hLine904指针伪装模版类Disguised,与此对应的概念是指针伪装。DisguisedPtr通过运算使指针隐藏于系统工
吕子乔_eabd
·
2023-10-23 09:26
底层原理:懒加载类与非懒加载类
上一篇文章我们分析了dyld跟
objc
的关联中,已经研究到了_dyld_
objc
_notify_register中会调用到map_images、load_images,并且对于map_images也做了一些分析
8ef7f923f5bb
·
2023-10-22 15:51
runtime-class
objc
_class数据结构#defineFAST_DATA_MASK0x00007ffffffffff8ULstructclass_ro_t{uint32_tflags;uint32_tinstanceStart
Berning
·
2023-10-22 10:26
在iOS中如何获取一个类的所有子类
Class)class{NSMutableArray*results=[NSMutableArrayarray];intnumClasses;Class*classes=NULL;numClasses=
objc
_getClassList
Charlie_Z
·
2023-10-22 02:55
Java利用反射和读取xml实现迷你容器
容器配置还是继承以前用spring.net的容器配置,名称为
ObjC
onfig.xml放在程序根目录供容器初始化容器实现packageLIS.Core.Context;importorg.w3c.dom
小乌鱼
·
2023-10-21 19:01
java
xml
python
五、isa 和类结构分析
主要内容:围绕类展开探索一、isa走位 1.类的分析 2.元类 3.isa走位 4.superClass走位二、
objc
_class&
objc
_object三、类结构分析一、isa走向主要分析:isa的走向及类的关系
顺7zi燃
·
2023-10-21 17:29
@
objc
关键字的使用场景
@
objc
关键字的使用场景1、protocol定义之前使用@
objc
,那么在protocol中可以定义optional方法。
盖小聂
·
2023-10-21 04:59
TODO List
评价弹框2.组件化实验3.热更新4.
objc
_msgSend的练习。https://blog.csdn.net/yxh265/article/details/386563915.响应式编程。
hypercode
·
2023-10-21 02:34
iOS—OC方法查找流程
下边的图是查看Runtime源码(
objc
-756),概括出来的大概的OC方法查找流程。sel-IMP查找流程首先你需要知道一些基本的知识,了解一个alloc出来的对象,它都包含什么?
土豆骑士
·
2023-10-21 00:52
iOS底层学习 -
objc
_msgSend快速查找流程分析
在探索
objc
_msgSend时,我们需要先了解OC的runtime机制。
w執念
·
2023-10-20 19:22
OC类的探索(三) - cache_t分析
前言在之前OC类的探索这篇文章中,我们讲到了NSObject的爸爸是
objc
_class,而它包含以下信息//ClassISA;Classsuperclass;cache_tcache;//formerlycachepointerandvtableclass_data_bits_tbits
MissHector
·
2023-10-20 18:50
【iOS底层】14:类的加载原理(上)
前言:从这篇文章开始我们来探索一下类是如何加载到内存中的~一、_
objc
_init()分析environ_init():环境变量的初始化。
miaocuilin
·
2023-10-20 17:10
iOS底层
类加载原理
isa与类关联的原理
objc
4中分析obj->initInstanceIsa源码探索对象本质在main中自定义一个类ZMPerson,有一个属性name#import@interfaceZMPerson:NSObject@
Z苗
·
2023-10-20 17:04
#
iOS
的类
isa与类关联的原理
iOS之深入解析alloc、init与new的底层原理
底层探索一、对于iOS的底层原理探索,查找到函数所在的源码库,一般有以下方法实现:①符号断点在哪里新建符号断点:选择SymbolicBreakpoint:怎么添加符号断点:在Symbol中加入alloc、
objc
_alloc
╰つ栺尖篴夢ゞ
·
2023-10-20 17:32
Objective-C底层原理
底层原理
alloc
init
new
内存对齐
js改变this指向的三种方法
console.log(this);}fn()有三种方法改变this的指向1:call方法定义一个a函数,函数本身的this是指向windows这里用call来改变this的指向,这样再次打印this指向的就是
objc
all
dec_taipeiz
·
2023-10-20 16:07
javascript
前端
iOS runtime实战应用:成员变量和属性
image.png成员变量1、定义:Ivar:实例变量类型,是一个指向
objc
_ivar结构体的指针typedefstruct
objc
_ivar*Ivar;2、操作函数://获取所有成员变量class_copyIvarList
丶奔波儿灞
·
2023-10-20 03:02
BUG汇总记录
(我这边是“氪信”这个第三方key不正确)2.Undefinedsymbolsforarchitecturei386:“
OBJC
_CLASS$_JPUSHRegisterEntity”,refere
May_0524
·
2023-10-19 07:23
OC对象为什么不能动态增加属性?
struct
objc
_class{Class_Nonnul
woshishui1243
·
2023-10-19 04:04
编译Objective-C代码生成C\C++代码文件
不同平台支持的代码肯定不一样(Windows、Mac、iOS)没指定架构:clang-rewrite-
objc
main.m-omain.cpp指定iOS64位机构:xcrun-sdkiphoneosclang-archarm64
健了个平_24
·
2023-10-19 03:02
iOS Runtime
https://opensource.apple.com/tarballs/
objc
4/Objective-C是一门动态性比较强的编程语言,跟C、C++等语言有着很大的不同什么叫动态性呢?
陈盼同学
·
2023-10-18 10:57
iOS 内存管理(二)
简介深入了解ARC,主要从一下几个修饰符深入了解__strong/__weak/_atuoreleasing1、__strong首先时当编译器初始化strong类型对象时,编译器伪代码如下idobj=
objc
_msgSend
Damon_Rao
·
2023-10-18 00:08
待看的优秀文章链接
苹果官方文档
objc
https://opensource.apple.com/tarballs/
objc
4/runloophttps://opensource.apple.com/tarballs/CF
洧中苇_4187
·
2023-10-17 23:41
vue基础知识和原理(二)
样式1.12条件渲染v-ifv-show1.13列表渲染v-for指令1.14vue监测data中的数据1.15收集表单数据1.8计算属性定义:要用的属性不存在,要通过已有属性计算得来原理:底层借助了
Objc
et.definePropert
糖^O^
·
2023-10-17 21:42
vue
vue.js
javascript
swift 判断是否是文件夹(FileManager)
extensionFileManager{//判断是否是文件夹的方法staticfuncdirectoryIsExists(path:String)->Bool{vardirectoryExists=
ObjC
Bool.init
HitlerCoding
·
2023-10-17 18:57
iOS 中,isa 指针
struct
objc
_classs结构体里存放的数据称为元数据(metadata)。struct
objc
_class{Classisa
OBJC
_ISA_AVAILABILITY;#if!__OB
zanxinz
·
2023-10-17 18:36
iOS
ios
面试
NSBundle一
指定所需资源的名称的时候不要包含这些修辞符(@2x\@3x\_ipone\~ipad)
objc
分为mainBundle、allFrameworks、allBundles创建和初始化NSbundleurl
写代码的小书童
·
2023-10-17 17:16
Category的本质(二)运行时如何将方法和属性进行捆绑
苹果官方给我们提供了
objc
源码,可以通过这个链接进行下载:ojbc源码注意标号最大的是最新版本,写这篇文章时,最新的编号为756
PerryMorning
·
2023-10-17 15:07
2019-04-18 block 使用注意
Blockimplicitlyretains'self';explicitlymention'self'toindicatethisisintendedbehavior解决办法buildsetting里搜CLANG_WARN_
OBJC
_IMPLICIT_RETAIN_SELF
超喜欢灌木的味道
·
2023-10-17 08:23
@autorelease
runloop迭代中都加入了自动释放池Push和Pop;ARC下,我们使用@autoreleasepool{}来使用一个AutoreleasePool,随后编译器将其改写成下面的样子:void*context=
objc
_autoreleasePoolPush
Civel_Xu
·
2023-10-17 02:57
iOS底层-
objc
_msgSend 慢速查找流程分析
慢速查找-汇编部分在
objc
-msg-arm64.s文件中查找__
objc
_msgSend_uncached的汇编实现,其中的核心是MethodTableLookup(即查询方法列表),其源码如下.macroMethodTableLookup
含笑州
·
2023-10-16 22:24
Runtime 相关 API
以下列举了使用Runtime时常用到的部分API,并非全部Runtime类相关API动态创建一个类(参数:父类,类名,额外的内存空间)Class
objc
_allocateClassPair(Classsuperclass
CoderKK
·
2023-10-16 21:07
上传自己的库到cocoapods
[Swift/
ObjC
]>Swift生成Demo工程Wouldyoulik
Jux2020
·
2023-10-15 21:43
Swift 语言新特性总结(1)
的哲学是触发陷阱比潜在安全漏洞要好3、字符串支持插值\(var)占位符,支持复合赋值操作符+=连接字符串4、swift必须手动转换类型,不会自动类型转换,譬如int8+int16会报错5、switch语法与
objc
仗键天涯
·
2023-10-15 18:13
记录Clang插桩HOOK
官方文档http://clang.llvm.org/docs/SanitizerCoverage.html当我们hookoc函数的时候其原理是
objc
_msgSend只能hook一些oc的函数对于系统的库函数
第x个等于4乘x的阶乘
·
2023-10-15 15:52
面试准备第一篇
打Log是我们debug时最简单朴素的方法,NSLog对于
objc
开发就像printf对于c一样重要。
凤毛麟角0712
·
2023-10-15 08:26
上一页
4
5
6
7
8
9
10
11
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他