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
第十二节—
objc
_msgSend(四)消息转发
本文为L_Ares个人写作,以任何形式转载请表明原文出处。本节开始说明在动态决议依然没有找到sel的imp的话,系统还有没有留给我们机会去防止报错,或者说程序的crash。其实在看到lookUpImpOrForward这个慢速查找流程的除了动态决议还有一个方法done图片.png但是你会发现走到这里的都是都是imp找到了以后的情况。所以我们可以进去看一看。staticvoidlog_and_fil
L_Ares
·
2023-07-26 12:02
为什么要设计metaclass
源代码来自
objc
-750__
objc
_msg发送ENTRY_
objc
_msgSendUNWIND_
objc
_msgSend,NoFramecmpp0,#0//nilcheckandtaggedpointercheck
robin2005
·
2023-07-26 10:06
load和initialize详解
下面,我们将结合runtime(文字用的是版本
objc
4-64
庆庆developer
·
2023-07-26 08:05
linux软件多版本共存,linux 下多版本gcc 共存问题
目前,GCC可以用来编译C/C++、FORTRAN、JAVA、
OBJC
、ADA等语言的程序,可根据需要选择安装支持的语言。GCC3.4.0比以前版本更好地支持了C++标准
严Phy
·
2023-07-26 05:22
linux软件多版本共存
十四、dyld和
objc
的关联
上篇文章十三、应用程序的加载讲到dyld加载中会调用_
objc
_init。
KB_MORE
·
2023-07-26 03:03
NSString内存管理
首先定义几个宏定义方便打印观察结果:#if__has_feature(
objc
_arc)#defineObj_RetainCount(obj)\CFGetRetainCount((__bridgeCFTypeRef
二斤寂寞
·
2023-07-26 00:54
iOS底层探索 --
objc
与dyld关联分析
引子在我们之前探索dyld流程时,我们发现其实dyld和
objc
_init()之间是存在联系的。
iOS小木偶
·
2023-07-25 17:23
【iOS】isKindOfClass和isMemberOfClass方法
1isKindOfClass方法1.1
objc
_opt_isKindOfClassC函数查看源码可发现,无论是谁调用isKindOfClass方法都会进入这个C函数。
瓯海剑
·
2023-07-25 13:46
OC
详解Runtime,在Objective-C开发中的用途
2、所有方法调用都是发消息,例如[selfinit];被转化为
objc
_msgSend(self,@selector(init))在OC中id指针,可以代表所有对象,其实id是结构体,我们
曲和之殇
·
2023-07-25 07:55
日期转周,周转日期
@
objc
publicclassfuncexWeekSunTime(weekSuntime:String)->String{//转换字符串转换供UI显示ifweekSuntime.count>=14{varresult
一念飘过
·
2023-07-24 20:02
『iOS』_block在各种情况下的源码表现
相关命令xcrun-sdkiphoneosclang-archarm64-rewrite-
objc
OC源文件-o输出的CPP文件__weak无法生成源码的问题clang-rewrite-
objc
-f
objc
-arc-f
objc
-runtime
butterflyer
·
2023-07-24 18:52
Swift进阶(二)—— 内存管理
structHeapObject{HeapMetadataconst*metadata;SWIFT_HEAPOBJECT_NON_
OBJC
_MEMBERS;...}
WellsCai
·
2023-07-24 17:17
UITextView link跳转
废话不多说,直接上代码,通过一个弹窗来展示效果importUIKitimportFZBaseKitimportSnapKitimportRxSwift@
objc
Members///新的弹窗alert,支持富文本点击跳转
流云_henry
·
2023-07-24 11:42
提示错误:Undefined symbols for architecture x86_64: "_
OBJC
_CLASS_$_类123referenced fr.这说明编译没有问题,连接的时...
提示错误:Undefinedsymbolsforarchitecturex86_64:"
OBJC
_CLASS$_类123referencedfr.这说明编译没有问题,连接的时候出错了,找不到导入的目标文件
小鲜肉老腊肉都是肉
·
2023-07-24 08:54
iOS load方法
流程分析收到回调_dyld_
objc
_notify_register(&map_images,load_images,unmap_image);用到的数据结构:structloadable_class{
学学学q
·
2023-07-24 07:49
NSOperationQueue
__
OBJC
2__{@privateid_private;int32_t_private1;#if__LP64__int32_t_private1b;#endif}#endif-(void)st
iseerain
·
2023-07-24 07:37
ios Runtime理解
OC的消息机制OC中的方法调用其实都是转成了
objc
_msgSend函数的调用,给recei
piggybear
·
2023-07-24 06:58
runtime源码之obj_msgsend
今天带大家探索一下底层_
objc
_msgSend的实现过程我们找到头文件是这样子解释的:/***Sendsamessagewithasimplereturnvaluetoaninstanceofaclass
_兜兜转转_
·
2023-07-23 23:20
Runtime内存模型探究
我们可以在苹果开源的runtime(当前的最新版本
objc
4-779.1.tar.gz)中可以发现一些Objecti
robin2005
·
2023-07-23 22:25
iOS内购相关
language=
objc
https://developer.apple.com/documentation/storekit/in-app_purchase/original_api_for_in-app_purchase
程序员小福子
·
2023-07-23 10:47
对象和类的关联
1.对象和类的定义对象的定义:typedefstruct
objc
_object*id;类的定义:typedefstruct
objc
_class*Class;1.1
objc
_object//
objc
-private.h
小溜子
·
2023-07-23 04:03
iOS底层之
objc
_msgSend快速查找流程
下面我们来分析
objc
_msgSend消息发送过程中是怎么查找方法缓存的。首先,我们先了解下Runtime的机制。RuntimeRuntime,顾名思义,即运行时,区别于编译时。
K哥的贼船
·
2023-07-23 00:02
NSFastEnumeration
今天看了个alibaba的开源库co
objc
,看到了代码中使用了实现NSFastEnumeration协议的类进行for循环,顿时懵逼,嗯,现在是要把它搞懂Enumeration:列举仔细看一下iOS的
淡燃
·
2023-07-22 21:52
内存管理-(四)弱引用表
来看一个代码块:{id__weakobj1=obj;}//编译后{idobj1;
objc
_initWeak(&obj1,obj);}//在这个过程中,发生了什么?
码小六
·
2023-07-22 14:31
发送消息(
objc
_msgSend(id self,SEL _cmd) )方法的底层实现
Persionalloc]init];[persionteset];}return0;}进行clang成c++文件//终端命令xcrun-sdkiphoneosclang-archarm64-rewrite-
objc
main.m-omain-cpp
kalpa_shock
·
2023-07-22 07:12
objc
_msgSend 源码阅读
objc
_msgSend是OC中调用最为频繁的方法,所有OC方法的调用都离不开这个它。
某某香肠
·
2023-07-22 05:52
too many arguments to function call, expected 0, have 2解决方案
用xcode13运行代码报错,定位在
objc
_msgSend(self.refreshTarget,self.refreshSelctor);将上述代码强制转换之后报错消息((void(*)(id,SEL
蚯小麦
·
2023-07-22 05:54
OC-Runtime-常用API
20210510151337970image-20210510151352812image-20210510151410706一.类相关API//动态创建一个类(参数:父类,类名,额外的内存空间)Class
objc
_allocateClassPair
蒋斌文
·
2023-07-21 21:11
flutter 错误记录1
4885-944E-A035869BA910forplug-inatpath'~/Library/ApplicationSupport/Developer/Shared/Xcode/Plug-ins/KSH
Objc
UML.xcplugin'notpresentinDVTP
茗记西岭雪
·
2023-07-21 21:44
C++:lower class obj访问upper class obj
前言首先本篇文章不讨论集成,而是一个class包含另一个classobj,比如下面代码,baseclass里面包含了deriveclass的
objc
lassderive{public:derive(){
honky_tonk_man
·
2023-07-21 08:59
c/c++
c++
OC底层原理01:源码的三种探究方式
1.符号断点添加断点选择SymbolBreakpoint输入符号alloc运行查看通过符号断点找到alloc在lib
objc
.A.dylib这个动态库中。
图图我考虑考虑
·
2023-07-21 06:25
一个
objc
对象如何进行内存布局(考虑有父类的情况)?
1,所有父类的成员变量和自己的成员变量(实例变量、私有变量、以及声明为属性生成的变量)都会存放在该对象所对应的存储空间中。2,每个对象内部都有一个isa指针,指向他的类对象,类对象中存放着本身对象的a,对象方法列表(对象能够接收的消息列表,保存在它所对应的类对象中)b,成员变量的列表。c,属性列表。类对象内也有一个isa指针指向元对象(metaclass),元对象内部存放的是类方法列表,类对象内部
齐玉婷
·
2023-07-21 01:01
【iOS】消息传递机制和消息转发机制
发送消息后,编译器将其转换为对应的一条C语言消息发送原语void
objc
_msgSend(idself,SELcmd,...)第一个参数代表消息的接收者,第二个参数代表消息选择子。
an_Anthony
·
2023-07-20 18:44
Objc
中 “== YES” 的愚蠢行为有多可怕
问题引出:几个星期前,我遇到一个这样的bug,在我的机器上用debug环境编译出来的正常运行,但是RDM运行出来的总是出现错误。当时排查到的问题代码大致如下:-(void)tableFootLoadingViewDidTriggerLoading:(MQZoneTableFootLoadingView*)footLoadingView{[selfperformSelector:@selector(
Pikachuqiu
·
2023-07-20 12:18
-(void)dealloc底层执行了什么?
直接从源码中查找,我们在NSObject.mm中可以查到dealloc函数-(void)dealloc{_
objc
_rootDealloc(self);}进入_
objc
_rootDealloc函数void_
objc
_rootDealloc
牛奶红茶
·
2023-07-20 09:43
UIMenuController类详解
language=
objc
概述:UIMenuController是苹果提供的用于剪切、复制、粘贴、单选、全选和删除等命令的菜单界面。
浅_若清风
·
2023-07-20 04:28
链接动态库生成可执行文件
链接动态库.dylib生成可执行文件1、将.m文件编译生成.o文件将test.m编译成test.o:clang-xobjective-c\-targetx86_64-apple-macos11.1\-f
objc
-arc
iOS小洁
·
2023-07-19 22:49
Vue中的计算属性和侦听器
2、原理:底层借助了
Objc
et.defineproperty方法提供的getter和setter。3、get函数什么时候执行? (1)初次读取时会执行一次。
大可-
·
2023-07-19 20:39
vue.js
前端
javascript
前端框架
#ifdef __
OBJC
__到底是干什么的
原因:1)Xcode能编译.c、.m、.mm、.cpp等后缀的文件,而pch文件是上述几种后缀文件共用的,但是在编译.c、.cpp时,出现语法和OC不兼容的情况,导致编译出错ifdef
OBJC
会在编译OC
小小旭
·
2023-07-19 09:49
iOS 用clang重写.m文件时报错解决
解决办法为用下面的方法重写:clang-rewrite-
objc
-f
objc
-arc-f
objc
-runtime=macosx-10.14main.m其中macosx-10.1
往事如烟_想戒_难
·
2023-07-19 08:04
Undefined symbols for architecture arm64…
Undefinedsymbolsforarchitecturearm64(其cpu架构)"
OBJC
_CLASS$_XXX",referencedfrom:之类的问题,很多人看到这些很头疼,不知道从何下手去修改
夏天的枫_
·
2023-07-19 07:32
【iOS】ARC实现
ARC由以下工具来实现:clang(LLVM编译器)3.0以上
objc
4Objective-C运行时库493.9以上下面我们,我们将围绕clang汇编输出和
objc
4库的源代码探究ARC实现1.
瓯海剑
·
2023-07-19 06:50
ios
cocoa
macos
objc
_msgSend底层之快速查找流程
方法调用的实质当我们使用clang编译.m文件,可以看到一个对象调用方法会被编译器转化为((#返回类型#(*)(id,SEL))(void*)
objc
_msgSend)(#方法接收者#,sel_registerName
iOSer_jia
·
2023-07-18 17:17
【iOS】探索ARC的实现
ARC的实现分析__strong自己生成并持有storeStrongSideTable散列表
objc
_retain
objc
_releasesidetable_releaseretainCount非自己生成并持有
zdsey
·
2023-07-18 16:31
iOS源码学习
ios
cocoa
macos
Facebook 的WebDriverAgent支持Xcode 10
Undefinedsymbolsforarchitecturex86_64:"
OBJC
_CLASS$XCElementSnapshot",referencedfrom:l_
OBJC
$CATEGORY_XCElementSnapshot
川少叶
·
2023-07-18 15:17
【iOS重学】关联对象的底层原理
写在前面本文主要探究一下iOS中如何给分类添加属性以及关联对象的底层原理是什么,建议大家看本篇文章的时候参考
objc
4源码一起看会更好。
重庆妹子在霾都
·
2023-07-18 06:59
Swift中的函数派发机制
有时可能希望函数直接执行,比如C++的默认派发机制,有时可能需要函数在运行时执行,那就需要通过函数表派发,比如java,或者需要通过消息派发,比如
Objc
。但是每种派发机制都有优缺点。
alvin_wang
·
2023-07-18 04:57
foreach的基本使用方法filter的基本用法
length){item.key.forEach(obj=>{const{count,department,division,key,name,personLiable}=
objc
onstsingle=
m0_60827885
·
2023-07-18 02:27
javascript
node.js
IOS 定时任务
repeats:true)RunLoop.main.add(timer,forMode:RunLoop.Mode.common)self.timer=timer定时任务内容//每15秒自动获取一次数据@
objc
func
宁静世界
·
2023-07-18 01:00
[OC学习笔记]启动流程(
objc
部分)
现在分析下在此流程中
objc
4源码(818.2)的处理逻辑。
Billy Miracle
·
2023-07-18 01:00
笔记
OC
学习
objective-c
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他