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
启动速度说明
2、
ObjC
类,方法越多,启动越慢。3、
ObjC
的+load越多,启动越慢。4、C的constructor函数越多,启动越慢。5、C++静态对象越多,启动越慢。
笨鸟后飞了
·
2023-09-05 17:12
isa结构分析
alloc,之后调用的最后一个方法是obj->initInstanceIsa,它的作用是将isa指针与我们的对象关联起来,我们来分析一下isa指针.我们这里先看下isa指针初始化的源码:inlinevoid
objc
_object
为了自由的白菜
·
2023-09-05 14:25
消息转发机制
RunTime:1、获取所有的属性列表、方法列表、协议列表2、方法交换3、方法拦截调用,容错处理4、动态添加方法,关联对象分类添加属性
objc
_setAssociatedObject消息查找与消息转发机制
fcf7850dd33e
·
2023-09-05 00:35
受虐之路(2)
1)递归functiondeepClone(obj){let
objC
lone=Array.isArray(obj)?
阿陆陆陆
·
2023-09-04 13:20
Load和Initialize
language=
objc
DiscussionTheloadmessageissenttoclasse
政在coding
·
2023-09-04 11:40
实现字典和模型的自动转换(MJExtension)
(self=[superinit]){//(1)获取类的属性及属性对应的类型NSMutableArray*keys=[NSMutableArrayarray];unsignedintoutCount;
objc
_property_t
骑着毛驴走起来
·
2023-09-04 10:39
OC对象
++的数据结构实现的image-20220531152830996可以将Objective-C代码转换为C\C++代码xcrun-sdkiphoneosclang-archarm64-rewrite-
objc
OC
iOS小洁
·
2023-09-04 06:05
iOS将.m文件编译成.cpp文件
和xxx.m,但是将文件.m编译成.cpp可以帮助我们了解一些我们表面上看不到的一些东西首先打开终端Terminal,cd到文件路径,如果不再文件路径下输入全路径,然后输入clang-rewrite-
objc
xxx.m
拇指猿
·
2023-09-04 05:30
runtime 探究
Runtime消息传递一个对象的方法像这样[objfoo],编译器转成消息发送
objc
_msgSend(obj,foo),Runtime时执行的流程是这样的首先,通过obj的isa指针找到它的class
code_xu
·
2023-09-04 04:40
iOS 关于YZHookHandler
它利用methodswizzling技术为已有的类或者实例方法添加额外的代码,大部分源码代码来自Reactive
ObjC
,作者在这个基础上做了二次开发,以便更方便的去使用。
巨蟹座的程序员
·
2023-09-04 03:10
iOS中
OBJC
_EXPORT的使用
OBJC
_EXPORT定义为:#define
OBJC
_EXPORT
OBJC
_EXTERN
OBJC
_VISIBLE
OBJC
_EXTERN是extern"C"或extern,这取决于分别编译C++还是C。
hanqingYang
·
2023-09-03 22:38
iOS 消息转发机制
例如我们在调用实例方法[receivermessage]时,Objective-C会利用runtime转换成
objc
_msgSend(receiver,selector)。
GlassHead
·
2023-09-03 15:31
iOS 集成微信支付和支付宝支付与友盟冲突问题
一、先说微信支付与友盟微信分享的冲突问题WXimage.pngndefinedsymbolsforarchitecturearm64:"_
OBJC
_CLASS_$_PayResp",referencedfrom
小瓶子Zgp
·
2023-09-03 10:23
iOS从源码看类:alloc
[NSObjectalloc]开源的实现:+(id)alloc{return_
objc
_rootAlloc(self);}id_
objc
_rootAlloc(Classcls){returncallAlloc
FireStroy
·
2023-09-03 07:22
嵌入式学习笔记(9) Makefile文件详解
led.bin:start.oarm-linux-ld-Ttext0x0-oled.elf$^arm-linux-
objc
opy-Obinaryled.elfled.binarm-linux-objdump-Dled.elf
嵌入式开发白菜
·
2023-09-02 17:48
嵌入式学习笔记
编程
嵌入式
arm开发
学习
笔记
嵌入式硬件
嵌入式实时数据库
51单片机
iot
iOS底层探究-03:alloc & init & new 源码分析
准备工作下载
objc
4-781源码编译源码,可
对你的微笑纯属礼貌_e31
·
2023-09-02 17:43
04 - 类 & 类结构探索
我们在探索过程中需要用到的lldb调试指令:bt打出堆registerread读取寄存器x读取内存段x/4gx读取当前断点位置起的4段内存段po打印p打印详细p/x以16进制读取对象的地址或者值准备一份可以运行的
objc
4
DarkArtist
·
2023-09-01 20:53
前端(vue)面试题答案分享
Vue中监控对象属性的变化你可以这样:watch:{obj:{handler(newValue,oldValue){console.log('
objc
hanged')},deep:true}}deep属性表示深层遍历
一起学习web前端
·
2023-09-01 13:58
011-iOS底层原理-_
objc
_init
了解dyld与
objc
通信的_
objc
_init函数。我们了解了load_images赋值给dyld内部的sNotify
ObjC
Init,并回调执行所有+load方法。
Mr_wick
·
2023-09-01 12:06
iOS - 学习笔记 - OC对象
//实例对象NSObject*object1=[[NSObjectalloc]init];NSObject*object2=[[NSObjectalloc]init];//类对象Class
objc
etClass1
GA_
·
2023-08-31 17:59
makefile学习(1)
makefile的基本规则target:prerequisitescommandtarget:目标文件,可以是
Objc
etFile,也可以是执行文件,还可以是一个标签(Label);prerequisites
i_actor
·
2023-08-31 15:21
makefile
c++
编译
makefile
Flutter Channle 实践
fluttercreate--template=plugin--orgcom.example--platforms=android,ios-ajava-i
objc
stard本文提供的demo是Flutter
小楼一夜听风来
·
2023-08-31 13:55
Flutter
flutter
Flutter
Channel
Flutter
Native
iOS开发系列--IOS程序开发概览ios基础
iOS开发系列--IOS程序开发概览概览终于到了真正接触IOS应用程序的时刻了,之前我们花了很多时间去讨论C语言、
ObjC
等知识,对于很多朋友而言开发IOS第一天就想直接看到成果,看到可以运行的IOS程序
灯火阑处
·
2023-08-31 11:23
ios
objective-c
ios开发
xcode
oc
iOS开发系列--Swift进阶
原文地址为:iOS开发系列--Swift进阶概述上一篇文章《iOS开发系列--Swift语言》中对Swift的语法特点以及它和C、
ObjC
等其他语言的用法区别进行了介绍。
dearbaba_8520
·
2023-08-31 11:51
Reflector
ObjC
ios开发
ios
swift
Objc
DisguisedPtr
DisguisedPtr源码分析指针的伪装计算机基础运算符重载C++默认参数字面意思:伪装指。注释如下://DisguisedPtractslikepointertypeT*,exceptthe//storedvalueisdisguisedtohideitfromtoolslikeleaks.//nilisdisguisedasitselfsozero-filledmemoryworksasex
MAXcrazs
·
2023-08-31 02:55
oc的本质、底层结构、内存分析、isa指针和superclass指针分析
1、在开始前先说下怎么将oc代码转为c++代码方法11、打开终端cd到目标的工程文件2、终端输入:clang-xobjective-c-rewrite-
objc
-isysroot/Applications
鄂北
·
2023-08-30 18:07
iOS面试题—runtime相关
数据结构:
objc
_object,
objc
_class,isa,class_data_bits_t,cache_t,method_t对象,类对象,元类对象消息传递消息转发一、数据结构:
objc
_object
雾中探雪
·
2023-08-30 14:39
# iOS weak弱引用实现原理以及释放原理。
iOSweak原理直接看源码
objc
_object::rootDealloc(){if(isTaggedPointer())return;//fixmenecessary?
孙优秀丶Unique
·
2023-08-30 05:58
2022-11-16 05RunTime相关
image.png
objc
_objectimage.png
objc
_classimage.pngisa指针image.pngcahce_t方法查找image.pngimage.pngclass_data_bits_timage.pngclass_rw_timage.pngclass_ro_timage.pngmethod_t
TsingQue
·
2023-08-30 03:56
64位架构下实例对象占用内存
参考链接:OC对象占用内存原理(一文彻底搞懂)我们知道OC实例对象的指针占用的内存为8字节(isa指针,或者说是
objc
_class结构体指针)。但是,实际上一个OC对象的内存占用为至少16字节。
我才是臭吉吉
·
2023-08-29 20:05
weak实现原理
weak实现原理1.初始化时,runtime调用
objc
_initweak函数,初始化一个新的weak指针,指向对象的地址2.添加引用时,
objc
_initweak函数,会调用
objc
_storeweak
老七没问题
·
2023-08-29 19:37
PDFKit
language=
objc
PDFKit在应用程序中显示和操作PDF文档。
独木舟的木
·
2023-08-29 13:51
继续搬砖之Runtime之
objc
_msgSend
NSNumber*isEnough=[personeatEnough:@(20)];该方法的调用时会转化为
objc
_msgSend进行调用,eatEnough:以及后面的参数形成了一个的消息。
LiuffSunny
·
2023-08-29 12:12
2022-03-30 OC 底层学习随记
mac12.2.1xcode13.2.1
objc
4-8381.alloc的流程alloc->id_
objc
_rootAlloc(Classcls){returncallAlloc(cls,false/*
leeandfy
·
2023-08-29 03:18
Objective - C Category(二)load 方法、initialize方法
源码解读顺序:(1)
objc
-os.mm
爱玩游戏的iOS菜鸟
·
2023-08-29 03:27
__block不适合多线程并发
objc
的很多设计,从底层实现上都不完全是线程安全的,这也导致在一些极端的并发情况下,会引起竞争导致的内存访问错误问题。
Colla
·
2023-08-29 01:09
Swift 语言新特性总结(3)
1、协议关键字protocol与
objc
的协议区别,多了计算属性支持,不过计算属性也可以理解成方法。某个类型符合协议,或者说遵循某个协议,其语法与继承一样,都是类型名称后+冒号+协议名称。
仗键天涯
·
2023-08-29 00:53
2016笔记——Runtime(四)
objc
_msgSend函数的深入解析:屏幕快照2016-04-1317.23.42.png第一个参数是一个id类型的参数,可以为任何对象或者类。第二个参数是一个SEL类型的参数。那么SEL又是什么?
满庭花醉三千客
·
2023-08-28 08:04
OC底层原理13-动态方法决议
cache,然后找methods,直到找到NSObject的父类nil,就会给imp赋值一个forward_imp,跳出循环,来到resolveMethod_locked开始方法决议一、准备工作1.1、
objc
4
Gomu_iOS
·
2023-08-28 06:35
源码分析类的结构
YDPerson是一个类,而类在底层又是
objc
_class,于是查找
objc
底层源码总结
objc
_class是继承于
objc
_object的结构体,结构体内部存储的是一些成员变量例如从
objc
_object
Isaiah_yu
·
2023-08-28 03:36
线程安全
@synchronized@synchronized(
objc
)为开发
A_sura
·
2023-08-27 20:13
iOS中执行方法过程
检测这个selector的target是不是nil,
Objc
允许我们对一个nil对象执行任何方法不会Crash,因为运行时会被忽略掉。
CoderLF
·
2023-08-27 17:45
iOS atomic nonatomic 多读单写 文件读写安全 IO操作
源码可查看
objc
4-accessors.mmif
咖啡豆8888
·
2023-08-27 15:32
RunTime
一、数据结构:
objc
_object,
objc
_class,isa,class_data_bits_t,cache_t,method_t屏幕快照2019-09-0309.19.27.png
objc
_object
曼谷第一开膛手
·
2023-08-27 13:12
Reactive
ObjC
监听通知遇到的坑
RAC功能很多,也很强大,但是在使用监听通知的时候,遇到一个问题,就是监听不能被释放:[[[NSNotificationCenterdefaultCenter]rac_addObserverForName:UIApplicationWillEnterForegroundNotificationobject:nil]subscribeNext:^(NSNotification*_Nullablex)
JasonFive
·
2023-08-27 11:11
'release' is unavailable: not available in automatic reference counting mode
在支持ARC下使用非ARC文件在targets下的BuildPhases下的CompileSources中在需要文件下添加-fno-
objc
-arc的属性即可编译通过。
330b92bcaf74
·
2023-08-27 08:16
4-KVC
1.API//给属性设置值[
objc
setValue:@10forKey:@"age"];//只作用于属性[
objc
setValue:@10forKeyPath:@"age"];//可作用于属性的属性/
今晚打老虎_9527
·
2023-08-26 20:18
objc
_msgSend分析
本文主要是对
objc
_msgSend的分析理解,在分析cache_t的流程时,我们只分析了写入流程,其实还有一个cache读取流程,有
objc
_msgSend和cache_getImp.先来了解一下runtimeruntime
为了自由的白菜
·
2023-08-26 02:53
iOS开发之Undefined symbol:_
OBJC
_CLASS_$_****
更新了Xcode14.0.1以后,项目突然曝出了此问题Undefinedsymbol:_
OBJC
_CLASS_$_****,因此记录一下,解决此问题的步骤:第一步:首先在BuildPhases中找到CompileSources
hbblzjy
·
2023-08-25 22:49
iOS开发等常用知识点
ios
xcode
Undefinedsymbol
Undefined
iOS底层-Runtime及
objc
_msgSend快速查找
前言在分析cache_t原理时,提及很多次的
objc
_msgSend函数,以及在真机环境下,cache缓存中多了个maskZeroBits字段,只知道
objc
_msgSend使用的,确不知道如何使用。
忻凯同学
·
2023-08-25 18:47
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他