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
类相关面试题分析
中定义两个方法,一个实例方法,一个类方法:@interfaceLGPerson:NSObject-(void)sayHello;+(void)sayHappy;@end并且在main.m中定义了几个函数:1、lg
Objc
_copyMethodList
小糾丶羯
·
2023-03-30 11:44
解决[UITapGestureRecognizer tag]: unrecognized selector sent to instance
//这样写就会崩溃addGestureRecognizer(UITapGestureRecognizer(target:self,action:#selector(cancel)))@
objc
privatefunccancel
SunshineDayss
·
2023-03-30 10:08
回答-阿里、字节:一套高效的iOS面试题①(结构模型)
runtime是iOS开发最核心的知识了,如果下面的问题都解决了,那么对
objc
-runtime的理解已经很深了。
zhouluyao
·
2023-03-30 06:52
[17]Effective Objective-C 2.0【10-11】
第十条:在既有类中使用关联对象存放自定义数据这条讲的是
objc
_setAssociatedObject和
objc
_getAssociatedObject,如何使用在这里就不多说了。
默然走一生
·
2023-03-30 05:33
iOS 类的结构解析
一、源码静态解读1、在
objc
最新版本
objc
-781,可以在
objc
-runtime-new.h找到
objc
_class的定义struct
objc
_class:
objc
_object{//ClassISA
Johnny_Z
·
2023-03-30 03:43
objc
-818编译通过
1、参考:https://www.jianshu.com/p/28150fa0c0852、参考:https://www.jianshu.com/p/5fc26fed9698
齐步走一二一
·
2023-03-30 03:54
SEL、Method和IMP区别
具体的分析如下:SEL:定义:typedefstruct
objc
_selector*SEL,代表方法的名称。仅以名字来识别。翻译成中文叫做选择子或者选择器,选择子代表方法在Runtime期间的标识符。
雷霸龙
·
2023-03-30 00:19
[iOS开发] swift 判断delegate是否实现了协议方法
协议:@
objc
protocolCaptureDelegate:NSObjectProtocol{@
objc
optionalfuncsettingView(_settingView:LQCaptureView
半缘魔君
·
2023-03-30 00:11
Runtime-object-weak阅读
objc
-weak阅读内容来源于:
objc
4-750—>
objc
t-weak.h/mm此文件主要是实现管理对象的弱引用关系,内部是通过一个SideTable来管理所有object的weak引用,当该object
嘛尼嘛哄
·
2023-03-29 20:07
iOS底层原理1——alloc初探
alloc对象的指针地址和内存XKPerson*
objc
1=[XKPersonalloc];XKPerson*
objc
2=[
objc
1init];XKPerson*
objc
3=[
objc
1init];NSLog
雾中探雪
·
2023-03-29 18:46
iOS底层-内存管理
大致可以分为两类:MRC(手动内存管理)和ARC(自动内存管理)MRC在MRC时代,系统是通过对象的引用计数来判断一个是否销毁,有以下规则对象被创建时引用计数都为1当对象被其他指针引用时,需要手动调用[
objc
retain
含笑州
·
2023-03-29 11:38
对象的本质 Class结构 + load + initialize 对象动态绑定 __weak底层实现
;typedefstruct
objc
_class*Class;可以看出isa是指向
objc
_class结构的指针obj对象的地址,就是结构体的地址,结构体里面第一个元素就是isa,结构体的地址也就是isa
大墙66370
·
2023-03-29 09:33
iOS-OC对象原理_内存布局
前言本文是基于
objc
-781源码进行分析探索实例对象与类对象底层结构,isa信息分布拓补图.001.jpeg在
objc
-runtime-new.h中,struct
objc
_class:
objc
_object
泽泽伐木类
·
2023-03-29 08:29
【转】
objc
@interface的设计哲学与设计技巧
http://blog.sunnyxx.com/2014/04/13/
objc
_dig_interface/
大胃贝克韩
·
2023-03-29 08:46
第三方搜集
objc
类库AFNetworking--------网络请求SDWebImage---------这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。
扣肉快快跑
·
2023-03-29 06:06
isa指针指向和类结构分析
把类编译成c++文件,发现类被编译成一个structtypedefstruct
objc
_class
luxing123
·
2023-03-29 06:00
SUPPORT_INDEXED_ISA和__ARM_ARCH_7K__
SUPPORT_INDEXED_ISA在
objc
源码里面,有这样一组宏定义,用的地方也不少,但一直不知道宏定义是啥意思,这里连猜带懵的说一下,有不对的请正//fieldasanindexintoaclasstable
山已几孑
·
2023-03-29 02:09
找茬--(类方法和实例方法有啥区别?)
CFPersonalloc]init];[personeating];//实例方法调用[CFPersonsleeping];//类方法调用经过编译器转换变为:((void(*)(id,SEL))(void*)
objc
_msgS
滨滨_57b5
·
2023-03-29 01:26
方法调用(三)-- 动态方法决议&消息转发
方法调用(一)--
objc
_msgSend快速查找流程方法调用(二)--慢速查找流程方法调用(三)--动态方法决议&消息转发动态方法决议上篇文章简单介绍了一下resolveInstanceMethod方法
过气的程序员DZ
·
2023-03-29 00:59
runtime系列文章总结
《iOSRuntime详解(消息机制,类元对象,缓存机制,消息转发)》《消息转发机制与Aspects源码解析》《用isa承载对象的类信息》load方法全程跟踪
Objc
Runtime总结关联对象AssociatedObject
wyc520
·
2023-03-29 00:12
快速点击多次响应的解决方案
publicextensionUIView{privatestructFqOnceTapTagKeys{staticvarfqOnceTapTagKey="fqPushTagKeys"}//记录当前是否可以点击跳转.默认为true@
objc
dynamicvarfqOnceTapTag
侭情显現
·
2023-03-28 20:39
iOS各种报错集合
1:Undefinedsymbolsforarchitecturearm64:"
OBJC
_CLASS$_类名",referencedfrom报错:Undefinedsymbolsforarchitecturearm64
Torin76
·
2023-03-28 19:56
iOS底层之方法慢速查找流程
在iOS底层之
objc
_msgSend快速查找流程里分析里调用方法的本质,就是消息发送,查找类的方法缓存,那么如果经历CacheLookup后没找到缓存,即快速查找流程找不到,则会开始慢速查找,从methodList
K哥的贼船
·
2023-03-28 18:18
iOS底层原理
Objective-C对象的底层探索Objective-C类的底层探索iOS消息发送、动态方法解析和消息转发
objc
4-838.1源码iOS分析dyld工作过程dyld-941.5源码iOSmapImage
顶级蜗牛
·
2023-03-28 16:38
iOS AutoreleasePool
源码在终端中使用xcrun-sdkiphonesimulatorclang-rewrite-
objc
main.m命令将OC的main函数转译成C++实现:ma
Dylan_J
·
2023-03-28 16:03
iOS面试题:[self class]和[super class]输出的是什么?
self){idobj1=[selfclass];idobj2=[superclass];NSLog(@"%@",obj1);NSLog(@"%@",obj2);}returnself;}@endid
objc
_msgSend
sunnyxg0812
·
2023-03-28 11:03
动态方法解析 & 消息转发
消息转发由上文Class内部结构可知:在
objc
_msgSend到查找方法实现lookUpImpOrNil的时候会先查找当前类然后父类(包括缓存列表)一层一层向上查找,查找不到的时候就会进入动态方法解析
Vency_
·
2023-03-28 10:33
iOS中错误总结(持续总结)
1.引入三方库文件报错报错内容Undefinedsymbolsforarchitecturex86_64:"
OBJC
_CLASS_WKWebViewConfiguration",referencedfrom
安静守护你
·
2023-03-28 10:01
isa指针
superclass指针.pngmeta-class对象的superclass指针.pngisa、superclass总结.pngisa指针.pngclass、meta-class对象的本质结构.pngstruct
objc
_class
六月的某一个早晨
·
2023-03-28 07:43
isa深入解析
前一篇介绍过isa的优化方式以及从被优化过的isa中获取真正的struct
objc
_class指针。
码农农农SL
·
2023-03-28 04:10
NSObject.h
NSObject点进去:@interfaceNSObject{Classisa
OBJC
_ISA_AVAILABILITY;}NSObject只
陆宝宝
·
2023-03-28 03:19
Xcode12 提示:Expected in: /usr/lib/libSystem.B.dylib
因为开发任务的关系今天才把工程从Xcode11切换到Xcode12上进行开发,中间碰到了一些问题这里记录一下碰到的一个问题在项目command+B编译成功,但是在跑真机的时候提示错误:dyld:Symbolnotfound:_
OBJC
_CLASS
拇指猿
·
2023-03-28 01:16
iOS 之1--alloc流程初探
一、前话:调试方法在开始调试之前,我们先了解一下几种调试的方法//介绍三种方式//lib
objc
.A.dylib下断点:control+in-
objc
_alloc下符号断点
objc
_alloc:lib
objc
.A.dylib
sz_蓝天使者
·
2023-03-27 22:53
AssociatedObject
一个实例对象就对应一个ObjectAssociationMap,而ObjectAssociationMap中存储着多个此实例对象的关联对象的key以及
Objc
Association,为
Objc
Association
和风细羽
·
2023-03-27 21:30
iOS 内存管理2-MRC&ARC,retain、release、dealloc
在
objc
4-781源码中,查找源码
objc
_setProperty->reallySetProperty->
objc
_retain->retain->
东旭39
·
2023-03-27 18:05
第三十八章 Mirror
再Objective-C中,我们可以通过Runtime来获取运行时的信息,而Swift是静态语言,虽然可以利用@
objc
并继承NSObject的方式获得Runtime能力,但是这并不是推荐的用法,作为静态语言
我有小尾巴快看
·
2023-03-27 18:11
OC关联对象的底层原理解析
*Theseareoptionsto
objc
_setAssociatedObj
希尔罗斯沃德_董
·
2023-03-27 18:11
C语言中.h和.c文件解析
,首先编译成纯汇编语句,再将之汇编成跟CPU相关的二进制码,生成各个目标文件(.obj文件)4.连接阶段,将各个目标文件中的各段代码进行绝对地址定位,生成跟特定平台相关的可执行文件,当然,最后还可以用
objc
opy
呼啦啦的爱
·
2023-03-27 17:48
iOS对alloc、init、new探索
准备工作:本文以
objc
4-781为例导入开源框架方法,我暂时没有写,暂时参考这位英雄的链接,在此我非常的感谢这位英雄。1、alloc做了什么?
学到不懂为止
·
2023-03-27 13:18
iOS中的内嵌汇编
虽然早前在做启动耗时优化的工作中,也做过通过拦截
objc
_msgSend并插入汇编指令来统计方法调用耗时的工作,但也只仅此而已。
堕落白天使
·
2023-03-27 13:10
iOS底层-方法的本质
这一篇我们来看看我们通过clang-rewrite-
objc
main.m-omian.cpp编译的对象调用方法底层intmain(intargc,constchar*argv[]){/*@autoreleasepool
Cooci_和谐学习_不急不躁
·
2023-03-27 09:34
iOS - 方法查找流程
在iOS-
objc
_msgSend分析一文中我们提到了__class_lookupMethodAndLoadCache3方法可以通过,全局搜索找到,那么还有其他的方式能看到_class_lookupMethodAndLoadCache3
e521
·
2023-03-27 08:30
Runtime:
objc
_msgSend执行流程
目录一,基本流程二,消息发送三,动态方法解析四,消息转发一,基本流程1,方法的调用都会转换为
objc
_msgSend函数的调用,通常称为消息机制//OC代码[personeat];//底层代码(用clang
码小菜
·
2023-03-27 07:44
十、
objc
_msgSend流程分析慢速查找
在九、
objc
_msgSend流程分析快速查找中如果通过汇编及C++在缓存中查找imp,未找到就会执行lookUpImpOrForward,下面我们分析在OC层面的方法慢速查找汇编.png汇编里面是_lookUpImpOrForward
KB_MORE
·
2023-03-27 05:23
读博客日记
这个C函数
objc
_msgSend就负责消息发送。在runtime的
objc
/message.h中能找到它的API。
禾口王No_1
·
2023-03-27 05:42
浅拷贝、深拷贝的方法和区别
functionsimpleClone(objNew){varobj={}for(variinobjNew){obj[i]=objNew[i]}returnobj}循环遍历//方法二:Object.create()var
objC
opy
王小樱
·
2023-03-27 02:57
OC底层原理08 -
objc
_msgSend流程之快速查找
OCruntime运行时在探索
objc
_msgSend时,我们需要先了解OC的runtime机制runtime简介runtime称为运行时,它区别于编译时编译时:是把源代码翻译成机器能识别的代码的过程,
H雷610
·
2023-03-27 02:51
记录
%hookSomeClass-(id)init{return%orig;}%end%ctor{%init(SomeClass=
objc
_getClass("LazyTool2.AdsManager"))
yh8577
·
2023-03-26 23:44
iOS代码转换为C代码
1.定位到文件当前目录2.命令行工具转换:clang-rewrite-
objc
main.m-omian.cpp2.1.转换为指定平台、架构的C文件:xcrun-sdkiphoneosclang-archarm64
_蓝星
·
2023-03-26 23:48
iOS-KVC篇
一、前言KVC(Key-valuecoding)键值编码,是对NS
Objc
et的扩展,分类名为:NSKeyValueCoding二、常用的方法说明//1、将键字符串key所对应的属性的值设置为value
MirL
·
2023-03-26 20:17
上一页
22
23
24
25
26
27
28
29
下一页
按字母分类:
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
其他