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
iOS底层初探
通过数据结构的特性可以猜测类的底层应该是结构体这种数据结构,因为类和实例的所包含的数据类型是多样的,所以不会是数组这种要求类型相同的数据类型,下面借助clang查看下oc类在底层的源码,涉及到的clang的命令行为clang-rewrite-
objc
fileName-onewFileName
PageWen
·
2023-03-10 05:02
WebViewJavascriptBridge 调用过程(三)
WKWebView为例1、JS端注册bridge.registerHandler('testJavascriptHandler',function(data,responseCallback){log('
ObjC
calledtestJavascriptHandlerwith
愤怒的八哥
·
2023-03-10 02:11
+load 和 +initialize 理解
objc
_init方法里面的load_image方法回调里面执行prepare_load_methods,遍历所有类调用schedule_class_load,在这个方法里面会先先将父类实现了+load
思绪飘零ing
·
2023-03-09 21:55
objc
_msgSend()汇编核心探索(arm64架构)
寄存器对应须知:函数参数寄存器(x0,x1,x2,x3,x4,x5,x6,x7)p0~p17--->x0~x17id
objc
_msgSend(idself,SEL_cmd,...)汇编实现ENTRY_
objc
_msgSendUNWIND_
objc
_msgSend
薛定谔的汪汪
·
2023-03-09 21:26
Runtime
并且苹果开源了API,其中主要在文件runtime.h和message.h中核心概念类的本质
objc
_class和Classstruct
objc
_class{Class_Nonnullisa
OBJC
_ISA
远辰jt
·
2023-03-09 21:20
iOS 高仿微信扫一扫
OC版本:SWQRCode_
Objc
Swift版本:SWQRCode_SwiftSWQRCode.gif1.前言SWQRCode支持二维码/条码扫描,相册二维码/条码识别、手电筒等功能
SelwynBee
·
2023-03-09 21:59
iOS Block底层探索
苹果官方资源opensource
objc
4-838可编译联调源码libclosure源码本章节探究:1.Block的类型2.Block的实质3.内容捕获4.
顶级蜗牛
·
2023-03-09 18:23
retain的实现原理
1.retain的实现原理ALWAYS_INLINEid
objc
_object::rootRetain(booltryRetain,boolhandleOverflow){//TaggedPointer
RingKun
·
2023-03-09 13:49
【iOS开发报错】 _
OBJC
_CLASS_$_JPUSHRegisterEntity
报错问题在一次上线后的第二天,代码里面改动了一点东西(插入了一两句代码和注释,跟报错的无关),懒得插手机跑了,想在模拟器上看下效果,结果运行报错,当时很纳闷,因为前一天上线前还在模拟器上测试了其他问题,代码几乎没动,怎么就不能跑了!单纯的我以为是xcode问题,关闭xcode,重新打开,运行,依然问题,看来这个方法不行。想起了昨天跑正式环境时候,切换成了Release环境,忘记改过来了,可能模拟器
_老妖怪
·
2023-03-09 11:59
iOS如何让部分文件支持MRC配置
简单的记录下如何操作:1、BuildPhaes—>CompileSources2、找到对应文件配置-fno-
objc
-arc
Mars_King
·
2023-03-09 08:52
ios自动释放池
){@autoreleasepool{NSObject*obj=[[NSObjectalloc]init];}return0;}在main函数中使用如下命令重写成c++文件clang-rewrite-
objc
main.mintmain
lth123
·
2023-03-09 03:31
ARC与MRC混编修改方法
1MRC项目加添ARC页面:MRC项目中添加ARC的文件,可以使用-f
objc
-arc标记即可。
Leon_Jiang
·
2023-03-09 00:47
Runtime 一: OC 方法的底层数据结构和缓存机制
中方法的底层实现原理,在研究method之前,我们先搞清楚Class的底层数据结构.先用一张图说明类的底层数据结构,然后我们在从runtime源码中验证:类的底层数据结构图我们在runtime源码中搜索struct
objc
_class
小心韩国人
·
2023-03-07 15:23
objc
_msgSend
iphone11ios14.4.2lib
objc
.A.dylib`
objc
_msgSend:0x1be9120e0:cmpx0,#0x0;=0x00x1be9120e4:b.le0x1be9121a4;
righr
·
2023-03-01 19:56
ObjC
开发-常用第三方开源框架介绍
iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角),ios冰山一角图像:1.图片浏览控件MWPhotoBrowser实现了一个照片浏览器类似iOS自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存。可对图片进行缩放等操作。下载:https://github.com/mwaterfall/MWPhotoBrowser目前比较活跃的社区仍旧是Github,
auspark
·
2023-02-28 14:53
Mac
OS
使用GDB调试Release程序和coredump的方法
导出符号表方法:
objc
opy--only-keep-debugpp_debugpp_debug.symbol加载符号表的方法gdb--symbol=pp_debug.symbol-exec=pp
luminous_gg
·
2023-02-23 03:25
工作经验总结
编程捷径
服务器
GDB调试Release程序
一、gdb调试release程序从debug版程序projectD中生成符号表projectsymbol.dbg
objc
opy--only-keep-debugprojectDprojectsymbol.dbg
dreamtale90
·
2023-02-23 03:47
gdb
breakpad
GNU 工具链调试信息分离和挂载:支持 GDB 调试 RELEASE 版本程序
GNU编译工具链和二进制工具链做法如下:gcc/g++使用-g编译得到目标程序:gcchello.c-g
objc
opy复制目标程序中的调试信息:
objc
opy--only-keep-debuga.outa.debugstrip
loongknown
·
2023-02-23 03:45
GDB
编译工具链
开发调试工具
gnu
二进制工具
gdb
NNPop
Objc
:在 Objective-C 上进行面向协议的编程(上)
本文将介绍基于NNPop
Objc
在Objective-C上进行面向协议的编程。
amisarex
·
2023-02-19 07:57
iOS Runtime!!!
runtime就是运行时,OC是运行时语言,指不是编译的时候决定调用谁,而是运行到那的时候才决定二,Runtime消息传递一个对象的方法[objtest],编译器转成消息发送
objc
_msgSend(obj
大宝的爱情
·
2023-02-19 05:29
iOS底层原理--类的结构分析(二)
得出了以下结论:对象的isa指针质量的时候类,类的isa指向的是元类(MetaClass),元类最终指向了根元类(NSObject)class在底层是一个
objc
_class类型的结构体,而
objc
_class
黑眼豆豆_
·
2023-02-19 02:51
macOS警告/提示视图 — NSAlert、自定义WindowController
系统自带提示视图在'ViewController.swift'文件中,先创建一个NSAlert实例来看看~importCocoaclassViewController:NSViewController{@
objc
funcclickItem
goyohol
·
2023-02-18 23:24
iOS Undefined symbols for architecture armv7 _
OBJC
_CLASS_$_**", referenced from:
objc
-class-ref i...
最近项目打包时报错如下Undefinedsymbolsforarchitecturearmv7:_
OBJC
_CLASS_$_DTImageTextAttachment",referencedfrom:
objc
-class-refinTZJCommodityTableViewViewModel.o
Lee坚武
·
2023-02-18 21:46
消息发送之 动态方法决议&消息转发
在上篇文章中
objc
_msgSend消息发送之慢速查找我们知道了再慢速也找不到的情况下会进入动态方法解析IMPlookUpImpOrForward(idinst,SELsel,Classcls,intbehavior
猿人
·
2023-02-18 14:36
OC中类和对象的本质
1.OC的对象OC的对象其实是一个指向
objc
_object结构体的指针,结构体中只有一个isa指针,这个指针指向对象所属的类。
一叶知秋0830
·
2023-02-18 10:32
OC自动释放池
自动释放池:出释放池,池内对象快速释放防⽌内存在短时间内暴涨大内存的图片->自动释放池使用,图片能快速释放@autoreleasepool{}汇编调试:调用:
objc
_autoreleasePoolPush
张天宇_bba7
·
2023-02-18 07:40
Runtime
objc
4-750.1编译
最新版本的Runtime源码编译环境配置(写的不好,见谅)当前环境macOS10.14Xcode10.1
objc
4-750.1首先给出我已编译好的
objc
4-750地址,可以直接使用。
蚂蚁也疯狂
·
2023-02-18 02:07
iOS 逆向开发15:DYLD加载流程
iOS逆向开发文章汇总目录一、问题引入二、编译过程及库三、dyld加载流程分析四、总结dyld源码地址、
objc
源码地址本文的目的主要是分析dyld的加载流程,了解在main函数之前,底层还做了什么一、
differ_iOSER
·
2023-02-18 02:50
iOS-weak原理
weak创建流程在main函数写入以下代码,设置一个断点,然后进入汇编intmain(intargc,constchar*argv[]){@autoreleasepool{id__weak
objc
=object
xxxxxxxx_123
·
2023-02-18 01:13
Runtime底层原理分析之
objc
_msgSend
Runtime的源码可以在苹果的官网opensource下载到,我下载的是当时的最新版本
objc
4-750,点击此地址可以去下载。
objc
4-750.png二、IMP和ob
凡几多
·
2023-02-17 20:49
isa 指针理解整理
objc
_object结构体包含一个isa指针,类型为isa_t联合体。可表示多种形态,既可以当成是指针,也可以存储标志位。
小李不木
·
2023-02-17 17:23
ARM GCC 快速参考指南
编译命令`arm-none-eabi-gcc`链接命令`arm-none-eabi-ld`查询储存空间占用信息命令`arm-none-eabi-size`导出`*.bin`命令`arm-none-eabi-
objc
opy
suyong_yq
·
2023-02-17 17:42
嵌入式系统架构设计
MicroPython
arm
linux
嵌入式硬件
17 runtime-之API详解+使用
序言本篇文章主要介绍runtime有关API及使用一类1.1动态创建一个类(参数:父类,类名,额外的内存空间)Class
objc
_allocateClassPair(Classsuperclass,constchar
zysmoon
·
2023-02-17 12:32
应用程序加载(六)-- 面试题load方法的调用顺序
应用程序加载(一)--dyld流程分析应用程序加载(二)--dyld&
objc
关联以及类的加载初探应用程序加载(三)--类的加载应用程序加载(四)--分类的加载应用程序加载(五)--类扩展和关联对象用一道面试题来终结应用程序加载篇章
过气的程序员DZ
·
2023-02-17 10:10
iOS底层原理之类的加载处理
_
objc
_init程序在启动时,先用dyld进行动态库的链接,做完一系列准备操作之后,会进入到_
objc
_init方法下面简单了解一下主角_dyld_
objc
_notify_register开始之前的各个初始化的目的
尘舒
·
2023-02-17 08:15
2019-05-25
duplicatesymbol_
OBJC
_IVAR今天该死的SVN又TMD出问题,update之后出现了下面这种问题:该错误是一种链接错误,令人头疼的是Xcode不会直接定位到问题具体位置。
月沉眠love
·
2023-02-17 07:28
block底层原理探究(一):捕获
block的本质这些问题,我们都可以通过clang命名分析代码得到答案;clang命令可以将源码改写成C/C++的,通过C/C++源码可以很清楚的研究block底层实现;具体命令:clang-rewrite-
objc
main.m
_小沫
·
2023-02-17 04:56
iOS底层原理之OC类的扩展与关联对象
准备工作
objc
4-818.2源码。一:list_array_tt数据结构分析开始今天主要内容之前,先补充一点小内容。
温暖xj
·
2023-02-16 22:33
Undefined symbols for architecture arm64: "_
OBJC
_CLASS_$_ShareSDK", referenced from:
objc
...
相信很多小伙伴遇到了这个报错引入shareSDK(转载:https://www.jianshu.com/p/7402d0b948db作者:夏夏天的枫_)Undefinedsymbolsforarchitecturearm64:"_
OBJC
_CLASS
狂风Love
·
2023-02-16 21:13
iOS中load、initialize的区别
load在程序运行中只会调用一次调用顺序是先调用类的load,按编译顺序,调用子类的load之前会调用父类的load再调用分类load,也是按照编译先后顺序调用Load是根据方法地址直接调用的,并不是经过
objc
_msgSend
iOS小洁
·
2023-02-16 13:39
class / superClass / object_getClass isKindOfClass/isMemberOfClass 详解
1.
objc
_getClass通过类名来获取一个类对象,传入constchar*返回对应的类对象。
Aliv丶Zz
·
2023-02-08 16:26
ObjC
基于socket实现即时通讯
老规矩,先看效果:效果图.gifDemo奉上: socket服务端 socket客户端一.写作目的:1.使用socket实现简单的群聊2.利用TCP建立的连接,模拟苹果远程推送二.写作声明: socket是C语言写的,所以不必担心平台的问题,本文主要使用语言---OC,介绍一个非常好用的库CocoaAsyncSocket,是谷歌的开发者,基于BSD-Socket写的一个IM框架,它给M
入夜_渐微凉
·
2023-02-07 11:55
Swift中的@
objc
、@
objc
Members关键字探讨
如果想要使用它的动态性就需要加上@
objc
关键字,本篇文章就来讲一下,
剑老师
·
2023-02-07 10:45
Swift中UIButton点击事件为何要加上@
objc
原因一般的方法前面是不需要写@
objc
的,但selector对应的方法前面必须加,因为selector其实是Objective-Cruntime的概念。
代码之路
·
2023-02-07 06:45
runtime框架 Too many arguments to function call, expected 0, have 2错误
首先说明下,在Xcode6之前运用
objc
_msgSend,是有参数提示的。但是从Xcode6之后,苹果不推荐我们使用runtime,所以就取消了参数提示功能。估计是不想让我们过多的了解底层。
小猪圣骑士
·
2023-02-07 05:55
Runtime学习
Runtime的理解原文链接Instance对象实例id的本质是什么:typedefstruct
objc
_class*Class;struct
objc
_object{Classisa
OBJC
_ISA_AVAILABILITY
blazer_iOS
·
2023-02-07 04:01
制作framework
2022-05-3117.14.12.png2.设置属性1.Mach-OType设置为StaticLibrary截屏2022-05-3117.19.28.png2.OtherLinkerFlags设置为-
ObjC
崔又淇
·
2023-02-07 02:15
iOS 自动引用计数(ARC)
ARC.png__strong、__weak、__autorealse的编译器代码id__strongobj=[[NSObjectalloc]init];//编译器代码idobj=
objc
_ms
牛程程
·
2023-02-07 02:27
iOS 启动优化(二)之二进制重排
iOS启动优化(一)前言自从抖音团队分享了这篇抖音研发实践:基于二进制文件重排的解决方案APP启动速度提升超15%启动优化文章后,二进制重排优化pre-main阶段的启动时间自此被大家广为流传.hook
Objc
_msgSend
6ffd6634d577
·
2023-02-07 01:20
【Objective-C Runtime动态加载】---动态创建类Class
动态创建类Class,动态添加Class成员变量与成员函数,动态变量赋值与取值,动态函数调用等方法a.使用
objc
_allocateClassPair创建一个类Classconstchar*className
猪猪9527
·
2023-02-07 01:55
上一页
27
28
29
30
31
32
33
34
下一页
按字母分类:
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
其他